Grails Spring安全内核-手动生成密码
我正在尝试手动生成密码,以便将其直接插入数据库。但不幸的是,我没有工作 Spring安全内核设置为使用MD5编码。我在md5哈希生成网页中生成新密码,更新bbdd,但我无法与该用户登录Grails Spring安全内核-手动生成密码,grails,spring-security,grails-2.0,grails-plugin,Grails,Spring Security,Grails 2.0,Grails Plugin,我正在尝试手动生成密码,以便将其直接插入数据库。但不幸的是,我没有工作 Spring安全内核设置为使用MD5编码。我在md5哈希生成网页中生成新密码,更新bbdd,但我无法与该用户登录 我猜它在编码之前有一些特定的结构,但我不知道。只要看看basespasswordencoder类的源代码就可以了 protected String mergePasswordAndSalt(String password, Object salt, boolean strict) { if (pa
我猜它在编码之前有一些特定的结构,但我不知道。只要看看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() + "}"**;
}
}
}
您好kix300zx,您是否尝试使用springSecurityService.passwordEncoder对密码进行编码?请不要使用MD5作为密码。这几乎不比存储明文密码好。至少使用适当的盐,并尽快迁移到bcrypt。