java - 如何验证MD5

标签 java md5 md5sum

我以这种方式创建 MD5:

public void encrypeUsername(String sessionid)
    {
        byte[] defaultBytes = sessionid.getBytes();
        try
        {
            MessageDigest algorithm = MessageDigest.getInstance("MD5");
            algorithm.reset();
            algorithm.update(defaultBytes);
            byte messageDigest[] = algorithm.digest();

            StringBuffer hexString = new StringBuffer();
            for (int i = 0; i < messageDigest.length; i++)
            {
                hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
            }
            System.out.println("sessionid " + sessionid + " md5 version is " + hexString.toString());
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }



    }

对于输入 123456,我们得到 MD5:e1adc3949ba59abbe56e057f2f883e

我想创建另一种方法来验证结果。

例如,如果我输入 e1adc3949ba59abbe56e057f2f883e 和“123456”,那么我得到的结果是:true/false。

知道如何实现吗?

谢谢, 射线。

最佳答案

String pass = "123456";
String secret = "e1adc3949ba59abbe56e057f2f883e";
if encrypeUsername(pass).equals(secret) System.out.printl("ok!")

请记住,md5 是单向的。很难*再次从 secret 中取回密码。

(*)现在对于弱密码来说没那么难了。

关于java - 如何验证MD5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031179/

相关文章:

download - 下载用户如何在文件下载后检查 md5?

javascript - 在 JavaScript 中计算 MD5 和并将其作为位访问

linux - 创建与文件转储并行的文件的 md5sum

java - java执行路径分析工具

java - 我的 JAVA do 循环有什么问题?

javascript - md5 递增地哈希一个大文件?

git - 最短哈希? MD5/安全算法。第一个字符,git

c++ - 如何在 C++ 中检查多个文件是否有重复项

java - 在 Java Swing 中创建 "Tips on StartUp"

Java "missing return statement"