Grails Spring安全核心 - 手动生成密码

时间:2014-11-11 15:02:37

标签: grails spring-security grails-2.0 grails-plugin

我正在尝试手动生成密码以将其直接插入数据库。但不幸的是,我没有工作。

Spring安全核心设置为使用MD5编码。我在md5哈希生成网页中生成一个新密码,更新bbdd但我无法使用该用户登录。

我想在讨论之前它有一些特定的结构,但我不知道。

1 个答案:

答案 0 :(得分:1)

只需查看basespasswordencoder类的源代码即可。

protected String mergePasswordAndSalt(String password, Object salt, boolean strict) {
        if (password == null) {
            password = "";
        }

        if (strict && (salt != null)) {
            if ((salt.toString().lastIndexOf("{") != -1) || (salt.toString().lastIndexOf("}") != -1)) {
                throw new IllegalArgumentException("Cannot use { or } in salt.toString()");
            }
        }

        if ((salt == null) || "".equals(salt)) {
            **return password**;
        } else {
            **return password + "{" + salt.toString() + "}"**;
        }
    }
}

http://grepcode.com/file/repo1.maven.org/maven2/org.springframework.security/spring-security-core/3.0.1.RELEASE/org/springframework/security/authentication/encoding/BasePasswordEncoder.java#BasePasswordEncoder.mergePasswordAndSalt%28java.lang.String%2Cjava.lang.Object%2Cboolean%29