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

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

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

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


我猜它在编码之前有一些特定的结构,但我不知道。

只要看看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。