2023年12月21日发(作者:)
要获取文件的 SHA-256 哈希值,您可以使用 的内置
crypto 模块。以下是一个使用 TypeScript 编写的示例代码,演示如何获取文件的 SHA-256 哈希值:
typescript复制代码
import * as crypto from 'crypto';
import * as fs from 'fs';
/**
* 获取文件的 SHA-256 哈希值
*
* @param filePath 文件路径
* @returns 文件的 SHA-256 哈希值
*/
function getFileSHA256(filePath: string): string {
return new Promise((resolve, reject) => {
// 创建 FileReader 对象
const reader = ReadStream(filePath);
// 创建 SHA-256 哈希对象
const hash = Hash('sha256');
// 将文件数据流管道连接到哈希对象
(hash);
// 当文件读取完毕时,获取哈希值并返回
('end', () => {
const hashValue = ('hex');
resolve(hashValue);
});
// 如果读取文件或处理数据时发生错误,则拒绝 Promise
('error', (error) => {
reject(error);
});
});
}
// 使用示例
const filePath = 'path/to/your/file';
getFileSHA256(filePath)
.then((hash) => {
(`SHA-256 hash of ${filePath}: ${hash}`);
})
.catch((error) => {
(`Error getting SHA-256 hash of ${filePath}:
${error}`);
});
在上面的示例中,我们首先导入
crypto 和
fs 模块。然后,我们定义了一个名为
getFileSHA256 的函数,该函数接受一个文件路径作为参数,并返回一个 Promise,该 Promise 在文件读取完毕时解析为文件的 SHA-256 哈希值。在函数内部,我们创建了一个
FileReader 对象来读取文件,并使用
Hash('sha256') 创建了一个 SHA-256 哈希对象。然后,我们将文件数据流管道连接到哈希对象上,以便在读取文件时计算哈希值。当文件读取完毕时,我们获取哈希值并返回。如果在读取文件或处理数据时发生错误,我们将拒绝 Promise 并输出错误信息。最后,我们使用示例代码演示了如何使用
getFileSHA256 函数获取文件的 SHA-256 哈希值。


发布评论