// 加密模块
let crypto = require('crypto')
let fs = require('fs')
// console.log(crypto.getHashes());
// 加密方式数组
let alge = [
'RSA-MD5',
'RSA-RIPEMD160',
'RSA-SHA1',
'RSA-SHA1-2',
'RSA-SHA224',
'RSA-SHA256',
'RSA-SHA3-224',
'RSA-SHA3-256',
'RSA-SHA3-384',
'RSA-SHA3-512',
'RSA-SHA384',
'RSA-SHA512',
'RSA-SHA512/224',
'RSA-SHA512/256',
'RSA-SM3',
'blake2b512',
'blake2s256',
'id-rsassa-pkcs1-v1_5-with-sha3-224',
'sha384WithRSAEncryption',
'sha512',
'sha512-224',
'sha512-224WithRSAEncryption',
'sha512-256',
'sha512-256WithRSAEncryption',
'sha512WithRSAEncryption',
'shake128',
'shake256',
'sm3',
'sm3WithRSAEncryption',
'ssl3-md5',
'ssl3-sha1'
]
/*
第一步 谁来做加密操作 文件
读取 加密
*/
function doHash(hashname) {
hashname.forEach(name => {
hashAlgorithm(name)
});
}
/*
第二步 计算时间 读取文件
加密文件
输出
*/
function hashAlgorithm(algorithm) {
// 获取当前时间
let sTime = new Date()
// 读取文件
let txt = fs.createReadStream('./crypto.txt')
// 加密环境
let shasum = crypto.createHash(algorithm)
txt.on('data', (d) => {
// 更新hash内容 数据流使用的时候就会多次更新
shasum.update(d)
})
txt.on('end', () => {
// 计算传入数据 取出
// AscII hex 十六进制格式
let d = shasum.digest('hex')
let end = new Date()
console.log(`算法${algorithm}:加密总耗时--${end - sTime}ms,加密后内容【${d}】`);
})
}
doHash(alge)
node-crypto 加密
最新推荐文章于 2023-10-19 13:21:26 发布
该代码示例展示了如何使用Node.js的crypto模块对文件进行不同哈希算法的加密操作,如RSA和SHA系列。它首先定义了加密方式的数组,然后遍历数组执行加密操作,读取crypto.txt文件并计算加密总耗时。
摘要由CSDN通过智能技术生成