1

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

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。

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

提前致谢。

4

1 回答 1

2

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

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

于 2012-05-01T15:58:03.750 回答