美文网首页
nodeJS:MD5加密

nodeJS:MD5加密

作者: Dream_丹丹 | 来源:发表于2017-11-29 18:04 被阅读0次

MD5

  • md5:不是一种加密算法,是用来做文件校验的
  • 作用:让大容量信息在数字签名软件签署私人秘钥前被"压缩"成一种保密格式,也就是把一个任意长度的字节串变换成一定长度的十六进制数字串(32个字符)
    • 一致性验证
    • 数字签名
    • 安全访问认证
  • 特点:不可逆
    • 输入两个不同的明文不会得到相同的输出值
    • 根据输出值,不能得到原始的明文,即过程不可逆

MD5的性质

  • 压缩性:任意长度的数据,转换为固定长度的MD5值
  • 容易计算:从原数据计算出MD5值很容易
  • 抗修改:对原数据进行任何改动,最终得到的MD5值都有很大的区别
  • 弱抗碰撞:已知原数据和其MD5值,找一个具有相同MD5值的数据(即伪造数据)是非常困难的。

HMAC

  • 进一步提升MD5加密安全性
  • 是一个"秘钥",对明文进行加密,并做"两次散列",但使用它得到的还是32个字符
  • 用HMAC
    • 利用哈希算法,以一个秘钥和一个信息为输入,生成一个消息摘要作为输出

nodeJS中的crypto

  • crypto.createHash() : 创建一个Hash实例,不能使用new关键字创建对象
    • hash.update()
    • hash.digest()
  • create.createHmac() : 创建一个Hmac实例,不能使用new关键字创建对象
    • hmac.update()
    • hmac.digest()
crypto.createHash()
// 必须引入crypto
const crypto = require('crypto'); 
function md5(data){
  // 以md5的格式创建一个哈希值
  let hash = crypto.createHash('md5');
  return hash.update(data).digest('base64');
}
let mima = md5(md5('dandan')+'li'));
crypto.createHmac()
// 必须引入crypto
const crypto = require('crypto');
function hmac(data){
  let hmac = crypto.createHmac('md5','后台传入/任意值');
  return hmac.update(data).digest('base64');
}
let mima = hmac('dandan');

相关文章

  • nodejs——Error: Digest already ca

    这个是使用nodejs md5加密,多次加密时报错;

  • node功能模块封装

    crypto加密 利用nodejs内置crypto模块,来封装md5功能例:写MD5函数 科普:MD5(MD5 M...

  • nodejs-md5加盐到解密比对

    nodejs-crypto 加密工具 crypto 模块提供了加密功能,包括对 OpenSSL 的哈希、MD5、H...

  • iOS常见信息加密方式总结

    目录 MD5加密HMAC加密base64加密对称加密RSA加密 - 非对称加密 一.MD5加密 MD5加密是最常用...

  • nodeJS:MD5加密

    MD5 md5:不是一种加密算法,是用来做文件校验的 作用:让大容量信息在数字签名软件签署私人秘钥前被"压缩"成一...

  • iOS 数据加密

    iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...

  • iOS加密

    iOS代码常见的加密方式包括MD5加密、AES加密、BASE64加密,RSA加密。 MD5加密 MD5是不可逆的只...

  • Java加密

    MD5加密: RSA加密: CBC加密:

  • linux进行md5加密

    linux进行md5加密 openssl做MD5加密 md5加密 交互式输入 管道标准输入处理 对文件处理 md5...

  • 数据加密

    单向散列:哈希加密。 PHP MD5函数 加密长度是64/32位的。MD5("这里是加密串")MD5($POST...

网友评论

      本文标题:nodeJS:MD5加密

      本文链接:https://www.haomeiwen.com/subject/ujlpbxtx.html