协慌网

登录 贡献 社区

如何生成 MD5 哈希?

是否有任何方法可以在 Java 中生成字符串的 MD5 哈希?

答案

MessageDigest类可以为您提供 MD5 摘要的实例。

使用字符串和加密类时,请务必始终指定您希望字节表示的编码。如果您只使用string.getBytes() ,它将使用平台默认值。 (并非所有平台都使用相同的默认值)

import java.security.*;

..

byte[] bytesOfMessage = yourString.getBytes("UTF-8");

MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(bytesOfMessage);

如果您有大量数据,请查看可以重复调用的.update(byte[])方法。然后调用.digest()来获取生成的哈希值。

java.security.MessageDigest是你的朋友。调用getInstance("MD5")以获取可以使用的 MD5 消息摘要。

您可能还想查看 apache commons 编解码器项目的DigestUtils类,它提供了非常方便的方法来创建 MD5 或 SHA 摘要。