美文网首页
node.js MD5

node.js MD5

作者: 梁同桌 | 来源:发表于2016-09-28 21:02 被阅读7716次

MD5和SHA1

MD5是一种常用的哈希算法,用于给任意数据一个“签名”。这个签名通常用一个十六进制的字符串表示:

  const crypto = require('crypto');
  const hash = crypto.createHash('md5');

  // 可任意多次调用update():
  hash.update('Hello, world!');
  hash.update('Hello, nodejs!');
  console.log(hash.digest('hex'));

AES是一种常用的对称加密算法(可以复原的),加解密都用同一个密钥。crypto模块提供了AES支持,但是需要自己封装好函数,便于使用:

const crypto = require('crypto');

function aesEncrypt(data, key) {
    const cipher = crypto.createCipher('aes192', key);
    var crypted = cipher.update(data, 'utf8', 'hex');
    crypted += cipher.final('hex');
    return crypted;
}

function aesDecrypt(encrypted, key) {
    const decipher = crypto.createDecipher('aes192', key);
    var decrypted = decipher.update(encrypted, 'hex', 'utf8');
    decrypted += decipher.final('utf8');
    return decrypted;
}

var data = 'Hello, this is a secret message!';
var key = 'Password!';
var encrypted = aesEncrypt(data, key);
var decrypted = aesDecrypt(encrypted, key);

console.log('Plain text: ' + data);
console.log('Encrypted text: ' + encrypted);
console.log('Decrypted text: ' + decrypted);

运行结果如下:

Plain text: Hello, this is a secret message!
Encrypted text: 8a944d97bdabc157a5b7a40cb180e7...
Decrypted text: Hello, this is a secret message!
可以看出,加密后的字符串通过解密又得到了原始内容。


廖老师的
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501504929883d11d84a1541c6907eefd792c0da51000

个人博客: www.liangtongzhuo.com

相关文章

  • node内置模块

    crypto 模块 node.js 提供这个模块用于数据加密 md5加密 varcrypto =require('...

  • node.js MD5

    MD5和SHA1 MD5是一种常用的哈希算法,用于给任意数据一个“签名”。这个签名通常用一个十六进制的字符串表示:...

  • Node.js crypto 坑点

    node.js crypto在使用key进行加密时,内部会对key进行md5操作,造成在其他平台不能解密成功,需要...

  • MD5(MD5 消息摘要算法)

    MD5(MD5 消息摘要算法) MD5 简介 MD5 消息摘要算法(MD5 Message-Digest Algo...

  • MD5介绍

    md5介绍 1. md5简介 md5的全称是md5信息摘要算法(英文:MD5 Message-Digest Alg...

  • iOS中使用的MD5与Base64 (Objective-C)

    一. MD5 MD5数字校验NSString对象 MD5数字校验NSData对象 MD5数字加盐校验NSStrin...

  • 第一篇、MD5算法和SHA-1算法

    目录一、MD5算法 1、MD5算法是什么? 2、MD5算法的优点 3、MD5算法的不足 4、MD5加密的应用场景 ...

  • node功能模块封装

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

  • 去重效率对比:HashTree与BloomFilter

    一、MD5码原理 1、MD5码简介 MD5讯息摘要演算法(英语:MD5 Message-Digest Algori...

  • MD5加密

    MD5 base64 + MD5

网友评论

      本文标题:node.js MD5

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