node-crypto 加密

该代码示例展示了如何使用Node.js的crypto模块对文件进行不同哈希算法的加密操作,如RSA和SHA系列。它首先定义了加密方式的数组,然后遍历数组执行加密操作,读取crypto.txt文件并计算加密总耗时。
摘要由CSDN通过智能技术生成
// 加密模块
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值