计算字节数组的SHA-1
问题描述:
我正在寻找一种方法来获取带有Java字节数组的SHA-1校验和作为消息。
I'm looking for a way of getting an SHA-1 checksum with a Java byte array as the message.
我应该使用第三方工具还是有什么内置的JVM可以提供帮助吗?
Should I use a third party tool or is there something built in to the JVM that can help?
答
怎么样:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Formatter;
public static String SHAsum(byte[] convertme) throws NoSuchAlgorithmException{
MessageDigest md = MessageDigest.getInstance("SHA-1");
return byteArray2Hex(md.digest(convertme));
}
private static String byteArray2Hex(final byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash) {
formatter.format("%02x", b);
}
return formatter.toString();
}