博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node js MD5
阅读量:6827 次
发布时间:2019-06-26

本文共 1442 字,大约阅读时间需要 4 分钟。

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

转载于:https://juejin.im/post/5a31f134f265da433562c613

你可能感兴趣的文章
HTML - form (转)
查看>>
浅析C#深拷贝与浅拷贝 (转)
查看>>
3226. [SDOI2008]校门外的区间【线段树】
查看>>
113. Path Sum II
查看>>
如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对
查看>>
HDU 4898 The Revenge of the Princess’ Knight ( 2014 Multi-University Training Contest 4 )
查看>>
浅谈静态变量和类
查看>>
Opencv笔记(十九)——直方图(一)
查看>>
AngularJs注解之----@input和@output
查看>>
抽象工厂模式(Abstract Factory)
查看>>
2.宽带安装与故障修复-1-新装
查看>>
aiXcoder插件
查看>>
面向对象的特征
查看>>
Linux基础知识--用户账户管理
查看>>
Kafka参数调优实战,看这篇文章就够了!
查看>>
delphi 把一个表的内容转到另一个表暂存时出错的解决方法。
查看>>
JavaScript 操作cookie
查看>>
IOS学习笔记25—HTTP操作之ASIHTTPRequest(一)
查看>>
BeanUtils.copyProperties() 用法
查看>>
微信公众平台开发 - 基础篇
查看>>