除了BCryptPasswordEncoder之外,我如何加密用户登录密码。假设我没有使用这种依赖关系。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>发布于 2022-10-04 05:05:24
BCryptPasswordEncoder只是另一个编码器。Spring提供了许多这样的编码器的实现。您可以使用不同的单向哈希算法的实现,如SHA-256、SHA-512等。Java在java.security包中提供了相同的实现。检查java.security.MessageDigest类。
使用类似于编码器的BCryptPasswordEncoder的一个优点是,您不需要自己生成随机密码盐。它处理它并隐式地使用随机盐分,这就是为什么每次为同一纯文本生成不同的编码字符串的原因。
发布于 2022-10-14 15:03:31
经过搜索,我发现最好的做法就是像Chetan所说的那样使用编码器。我找到的解决办法是
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-crypto</artifactId>
<version>5.7.3</version>
</dependency>并使用BCryptPasswordEncoder
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder(10);
}https://stackoverflow.com/questions/73940887
复制相似问题