有什么方法可以在 Java 中生成字符串的 MD5 哈希值吗?
原文由 Akshay 发布,翻译遵循 CC BY-SA 4.0 许可协议
MessageDigest
类可以为您提供 MD5 摘要的实例。
当使用字符串和加密类时,一定要 始终 指定您想要字节表示的编码。如果您只使用 string.getBytes()
它将使用平台默认值。 (并非所有平台都使用相同的默认值)
import java.security.*;
..
byte[] bytesOfMessage = yourString.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] theMD5digest = md.digest(bytesOfMessage);
如果您有大量数据,请查看可以重复调用的 .update(xxx)
方法。然后调用 .digest()
获取结果哈希。
原文由 koregan 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
你需要
java.security.MessageDigest
。调用
MessageDigest.getInstance("MD5")
得到MessageDigest
的MD5实例你可以使用。通过执行以下操作之一计算哈希:
byte[]
提供,并使用md.digest(bytes)
在一次操作中计算哈希值。md.update(bytes)
一次喂养MessageDigest
一个byte[]
块。添加完输入字节后,使用md.digest()
计算哈希值。byte[]
返回的md.digest()
是MD5散列。