程序员一代码搬运工
【Java学习心得和Java学习技术个人总结】

spring security 3中推荐使用BCrypt算法加密密码

spring security 3中推荐使用BCrypt算法加密密码了,以前使用的是md5,
Md5PasswordEncoder 和 ShaPasswordEncoder,现在不推荐了,推荐用bcrpt
Bcrpt中的salt可以是随机的,比如:

 

int i = 0;  
    while (i < 10) {  
        String password = "123456";  
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();  
        String hashedPassword = passwordEncoder.encode(password);  
   
        System.out.println(hashedPassword);  
        i++;  
    }

输出为:
$2a$10$EblZqNptyYvcLm/VwDCVAuBjzZOI7khzdyGPBr08PpIi0na624b8.
$2a$10$trT3.R/Nfey62eczbKEnueTcIbJXW.u1ffAo/XfyLpofwNDbEB86O
$2a$10$teJrCEnsxNT49ZpXU7n22O27aCGbVYYe/RG6/XxdWPJbOLZubLIi2
$2a$10$BHG59UT6p7bgT6U2fQ/9wOyTIdejh4Rk1vWilvl4b6ysNPdhnViUS
$2a$10$W9oRWeFmOT0bByL5fmAceucetmEYFg2yzq3e50mcu.CO7rUDb/poG
$2a$10$HApapHvDStTEwjjneMCvxuqUKVyycXZRfXMwjU0rRmaWMsjWQp/Zu
$2a$10$GYCkBzp2NlpGS/qjp5f6NOWHeF56ENAlHNuSssSJpE1MMYJevHBWO
$2a$10$gwbTCaIR/qE1uYhvEY6GG.bNDQcZuYQX9tkVwaK/aD7ZLPptC.7QC
$2a$10$5uKS72xK2ArGDgb2CwjYnOzQcOmB7CPxK6fz2MGcDBM9vJ4rUql36
$2a$10$6TajU85/gVrGUm5fv5Z8beVF37rlENohyLk3BEpZJFi6Av9JNkw9O
大大增加了安全性

 

 

使用方法很简单:

<authentication-manager> 
<authentication-provider> 
    <password-encoder ref="encoder" /> 
</authentication-provider> 
  </authentication-manager> 

  <beans:bean id="encoder" 
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"> 
<beans:constructor-arg name="strength" value="11" /> 
  </beans:bean>

 

其中strenth为长度

赞(0)
未经允许不得转载:程序员一代码搬运工 » spring security 3中推荐使用BCrypt算法加密密码
分享到: 更多 (0)