java sha1 文件
时间: 2023-12-03 10:03:47 浏览: 23
要使用Java实现SHA1哈希算法,可以使用Java自带的MessageDigest类。以下是一个示例代码:
```
import java.io.File;
import java.io.FileInputStream;
import java.security.MessageDigest;
public class SHA1Checksum {
public static byte[] createChecksum(String filename) throws Exception {
FileInputStream fis = new FileInputStream(filename);
byte[] buffer = new byte[1024];
MessageDigest complete = MessageDigest.getInstance("SHA1");
int numRead;
do {
numRead = fis.read(buffer);
if (numRead > 0) {
complete.update(buffer, 0, numRead);
}
} while (numRead != -1);
fis.close();
return complete.digest();
}
public static String getSHA1Checksum(String filename) throws Exception {
byte[] b = createChecksum(filename);
StringBuilder result = new StringBuilder();
for (int i = 0; i < b.length; i++) {
result.append(Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1));
}
return result.toString();
}
public static void main(String args[]) throws Exception {
String filename = "path/to/file";
System.out.println("SHA1 checksum for " + filename + ": " + getSHA1Checksum(filename));
}
}
```
其中,createChecksum方法会读取指定文件并计算SHA1哈希值,getSHA1Checksum方法则将哈希值转换为16进制字符串。在main方法中,可以指定文件路径并输出其SHA1哈希值。