在 Spring 中使用 BCryptPasswordEncoder 检索密码盐
Retrieving password salt with BCryptPasswordEncoder in Spring
似乎 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
没有 return 生成的 密码 salt:
public String encode(CharSequence rawPassword) {
String salt;
if(this.strength > 0) {
if(this.random != null) {
salt = BCrypt.gensalt(this.strength, this.random);
} else {
salt = BCrypt.gensalt(this.strength);
}
} else {
salt = BCrypt.gensalt();
}
return BCrypt.hashpw(rawPassword.toString(), salt);
}
问题 : 设计的目的是什么?如何使用它,因为它没有 return salt,应该存储它用于密码检查?
显然,盐是加密字符串的一部分,由$分隔。
可在此处找到更多信息:How can bcrypt have built-in salts?
似乎 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
没有 return 生成的 密码 salt:
public String encode(CharSequence rawPassword) {
String salt;
if(this.strength > 0) {
if(this.random != null) {
salt = BCrypt.gensalt(this.strength, this.random);
} else {
salt = BCrypt.gensalt(this.strength);
}
} else {
salt = BCrypt.gensalt();
}
return BCrypt.hashpw(rawPassword.toString(), salt);
}
问题 : 设计的目的是什么?如何使用它,因为它没有 return salt,应该存储它用于密码检查?
显然,盐是加密字符串的一部分,由$分隔。
可在此处找到更多信息:How can bcrypt have built-in salts?