gpt4 book ai didi

Java将字符串转换为md5,反之亦然

转载 作者:搜寻专家 更新时间:2023-11-01 02:03:48 31 4
gpt4 key购买 nike

我有 java 三个字符串。举个例子。

String test = "Hi, ";
String test1 = "this is ";
String test2 = "Java programming!";

我想合并这 3 个字符串并将其更改为 md5 格式。我怎么办?我对一个字符串使用 MessageDigest 类,但我不知道如何在更改为 md5 之前附加 3 个字符串。我想将 md5 改回字符串。我需要外部图书馆吗?

最佳答案

井反MD5不是真的可行,因为 -

  • 可以有多个字符串给出相同的 MD5(这称为 Hash 冲突。)
  • 它被设计成难以“逆转”

您会看到很多提供反向 MD5 的网站(如 - Option-1option-2)。这些网站存储已使用的“String 和 MD5”的映射(因此,如果您使用复杂的字符串,他们将无法推断出原始字符串)。

回到第 1 部分

MessageDigest可用于计算 Java 中给定字符串的 MD5。它的用法相当简单 -

        String testString="someText";
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(testString.getBytes());
BigInteger number = new BigInteger(1, messageDigest);
String hashtext = number.toString(16);

所以在你的问题中,这取决于你想如何创建哈希 -

方式 1 - 正如您所要求的那样 -

StringBuilder simpleString=new StringBuilder(test);
simpleString.append(test1);
simpleString.append(test2);
String testString=simpleString.toString();

最后调用上面定义的方法,输入为 - testString

方式 2 - 我会建议您使用 MD5 的 MD5 来获得安全校验和。

Output = MD5(MD5(test)+MD5(test1)+MD5(test2))

您可以尝试对 3 个字符的字符串进行暴力攻击。假设只允许使用英文字母(A-Z、a-z)和数字(0-9),那么在这种情况下“只有”623(238,328)种组合。

希望对您有所帮助。 :)

关于Java将字符串转换为md5,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637036/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com