如何在Java中计算字符串的MD5哈希?
大家好!我刚学Java,遇到一个问题:需要计算字符串的MD5哈希来检查文件完整性。我翻了很多论坛,但例子要么过时,要么对新手来说太复杂。
我尝试自己写代码,但不行。这是我写的:
```java
public class MD5Example {
public static void main(String[] args) {
String input = "Hello, world!";
String hash = input.hashCode(); // 我知道这样不行
System.out.println("MD5: " + hash);
}
}
```
我知道`hashCode()`不是MD5,只是Java内部的哈希。但正确的方法是什么?我听说过`MessageDigest`,但不知道怎么用。需要导入额外的库吗?还是可以用标准工具?
还有一个问题:MD5哈希总是32个十六进制字符吗?然后如何比较两个哈希来确认字符串相同?感谢提供一个简单易懂的例子并附带解释。