在Spring中使用BCryptPasswordEncoder检索密码盐

时间:2016-04-05 09:22:56

标签: java spring spring-security password-encryption

org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder似乎未返回生成的密码盐

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);
}

问题:这个目的是为了什么目的?它是如何使用的,因为它不会返回 salt ,应该存储哪些用于密码检查?

1 个答案:

答案 0 :(得分:3)

显然,salt是加密String的一部分,由$。

分隔

可在此处找到更多信息:How can bcrypt have built-in salts?