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 哈希值。