java如何给文件进行sha-256的加密示例
时间: 2023-06-05 21:09:00 浏览: 240
以下是Java给文件进行SHA-256加密的代码示例:
```
import java.io.FileInputStream;
import java.security.MessageDigest;
public class SHA256Example {
public static void main(String[] args) throws Exception {
// 文件路径
String filePath = "file.txt";
// 用 FileInputStream 读取文件内容
FileInputStream inputStream = new FileInputStream(filePath);
// 创建一个 SHA-256 消息摘要
MessageDigest digest = MessageDigest.getInstance("SHA-256");
// 读取文件,update 往摘要中添加内容
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
digest.update(buffer, 0, len);
}
inputStream.close();
// 如果文件很大,可以分多次 update
// 获取摘要
byte[] hash = digest.digest();
// 把摘要转化为 16 进制字符串
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
System.out.println("SHA-256 摘要:" + hexString.toString());
}
}
```
以上代码会计算文件内容的摘要(SHA-256算法),并输出转化为16进制字符串的摘要值。为了简化示例,这里没有对可能出现的异常进行处理,实际使用需加上异常处理。
阅读全文