密码加密/解密Spring安全性

时间:2012-05-01 15:44:28

标签: spring-security encryption

我正在使用以下代码使用MD5和Im加密我的网页中的安全性。

public static String stringToMD5(String password)
    {

        MessageDigest messageDigest;

        try {
            messageDigest = MessageDigest.getInstance("MD5");
            messageDigest.update(password.getBytes(),0, password.length());  
            String hashedPass = new BigInteger(1,messageDigest.digest()).toString(16);  
            if (hashedPass.length() < 32) {
               hashedPass = "0" + hashedPass; 
            }
            return hashedPass;
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
        return password;
    }

但是因为自定义登录方式我必须开发一个自定义的AbstractAuthenticationProcessingFilter,现在我必须解密那个MD5。

所以问题是如何解密该函数产生的。

提前致谢。

1 个答案:

答案 0 :(得分:2)

MD5是一种单向算法。这不是一对一的映射。无法解密其输出。

使用存储的MD5加密密码时,您必须通过加密输入并将结果与​​存储的加密密码进行比较来对用户进行身份验证。