1 MD5加密
<bean id="jdbcRealm" class="org.lfz.shiro.realms.ShiroRealm">
<property name="credentialsMatcher">
<bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<property name="hashAlgorithmName" value="MD5"></property>
<property name="hashIterations" value="1024"></property>
</bean>
</property>
</bean>
2 MD5盐值加密
1). 在 doGetAuthenticationInfo 方法返回值创建 SimpleAuthenticationInfo 对象的时候, 需要使用
SimpleAuthenticationInfo(principal, credentials, credentialsSalt, realmName) 构造器
2). 使用 ByteSource.Util.bytes() 来计算盐值.
3). 盐值需要唯一: 一般使用随机字符串或 user id
4). 使用 new SimpleHash(hashAlgorithmName, credentials, salt, hashIterations); 来计算盐值加密后的密码的值.
public static void main(String[] args) {
String hashAlgorithmName = "MD5";
Object credentials = "123456";
int hashIterations=1024;
ByteSource credentialsSalt = ByteSource.Util.bytes("user");
Object result = new SimpleHash(hashAlgorithmName,credentials,
credentialsSalt,hashIterations);
System.out.println(result);
}