10.10.8密码编码器XML配置-Spring Security用户手册-Java-IT技术博客

10.10.8密码编码器XML配置

密码应始终使用为此目的而设计的安全哈希算法(而不是诸如SHA或MD5的标准算法)进行编码。 <password-encoder>元素支持此功能。 使用bcrypt编码的密码,原始身份验证提供程序配置将如下所示:

<beans:bean name="bcryptEncoder"
    class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<authentication-manager>
<authentication-provider>
    <password-encoder ref="bcryptEncoder"/>
    <user-service>
    <user name="jimi" password="$2a$10$ddEWZUl8aU0GdZPPpy7wbu82dvEw/pBpbRvDQRqA41y6mK1CoH00m"
            authorities="ROLE_USER, ROLE_ADMIN" />
    <user name="bob" password="$2a$10$/elFpMBnAYYig6KRR5bvOOYeZr1ie1hSogJryg9qDlhza4oCw1Qka"
            authorities="ROLE_USER" />
    </user-service>
</authentication-provider>
</authentication-manager>

在大多数情况下,bcrypt是一个不错的选择,除非您有一个旧系统迫使您使用其他算法。 如果您使用的是简单的哈希算法,或者更糟的是存储纯文本密码,则应考虑迁移到更安全的选项,例如bcrypt。

标签: Spring SecuritySpring文档Spring Security中文教程SpringSecurity手册