Spring MVC中的密码加密

时间:2017-02-24 05:10:20

标签: java spring spring-security

我正在使用Spring MVC,我想加密以dB为单位保存的密码,我查看了其他线程,他们建议使用MD5。使用MD5是一个好习惯还是在Spring中有任何其他方法来实现它?

3 个答案:

答案 0 :(得分:1)

您可以使用BCryptPasswordEncoder对密码进行编码,为此,您需要创建此类的bean。

@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}

在向用户注册(将新用户保存到数据库)时,您可以自动连接PasswordEncoder并调用encode方法对密码进行编码

@Autowired PasswordEncoder passwordEncoder;

public User registerUser(User user){
   // other logic

   String encryptedPassword = passwordEncoder.encode(user.getPassword());
   user.setPassword(encryptedPassword);

   //logic to save the user to DB
}

答案 1 :(得分:0)

没有;使用BCrypt - 在Spring中可用BCryptPasswordEncoder

答案 2 :(得分:0)

您能否澄清一下您是在寻找Spring Security还是Spring MVC?你的问题标题是“”Spring MVC中的密码加密,而你已经标记了Spring Security的问题。

Spring安全建议使用以下内容 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder

http://docs.spring.io/spring-security/site/docs/4.2.1.RELEASE/reference/html/core-services.html#core-services-password-encoding