java - 使用 spring 3 security 对密码加盐

标签 java spring security hash spring-security

我一整天都在尝试谷歌,如何在通过 Spring 3 security 进行身份验证期间向我的散列密码添加 salt 并使其协同工作。不加盐就可以正常工作。

    <!-- authentication from database -->
    <security:authentication-manager>
        <security:authentication-provider>
            <security:password-encoder hash='md5'/> 
            <security:jdbc-user-service
                data-source-ref='dataSource'

                users-by-username-query="
              select username,password, salt
              from users where username=?"

                authorities-by-username-query="
              select u.username, ur.authority from users u, user_roles ur 
              where u.user_id = ur.user_id and u.username =?  " />

        </security:authentication-provider>
    </security:authentication-manager>

如果我想创建加盐密码,只需通过 user.setPassword(md5(somePassword+someSalt)); 感谢您的建议。

最佳答案

Spring security 对 password encoding 使用以下模式含盐:

 md5(password+"{"+salt+"}")

但是我会使用 sha 而不是 md5。

关于java - 使用 spring 3 security 对密码加盐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345647/

相关文章:

java - 从 backbean JSF 更新 Javascript 源

java - 消除类型转换中的中间步骤

java - 连接到 Kafka Broker 时出现问题

java - 上传文件停止并在套接字异常上读取意外的 EOF

html - 如何告诉浏览器不要提供保存不正确的密码?

java - 在运行时更新 Java 安全策略?

java - 将图像上传到 Firebase - Java

java - Jasperreport 中的位

mysql - 使用 WordPress get_results() 数据库函数是否可以防止 sql 注入(inject)

java - 使用内联条件语句格式化小数