我在MyRealm里面设置了这样的加密算法:
setCredentialsMatcher(new HashedCredentialsMatcher(Sha1Hash.ALGORITHM_NAME));但是不我知道注册保存用户密码时应该要怎样加密密码?请高手指教。谢谢

解决方案 »

  1.   

    没有人用过shiro吗?
    自己顶下
      

  2.   

    public static class HashPassword {
    public String salt;
    public String password;
    }

    public HashPassword encrypt(String plainText) {
    HashPassword result = new HashPassword();
    byte[] salt = Digests.generateSalt(SALT_SIZE);
    result.salt = Encodes.encodeHex(salt); byte[] hashPassword = Digests.sha1(plainText.getBytes(), salt, INTERATIONS);
    result.password = Encodes.encodeHex(hashPassword);
    return result; }HashPassword hashPassword = encrypt(user.getPlainPassword());
    user.setSalt(hashPassword.salt);
    user.setPassword(hashPassword.password);
      

  3.   

    前台不需要做什么处理的,关键是保存用户时你的密码保存策略要和你设置setCredentialsMatcher一致!