基于Node.js的AES加密
2018-01-25 20:34
323 查看
文本加密
const crypto = require('crypto'); function aesEncrypt(data,key,iv){ let cipher = crypto.createCipheriv('aes-128-cbc', key, iv); return cipher.update(data, 'utf8', 'hex')+cipher.final('hex'); } function aesDecrypt(crypted,key,iv){ let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv); return decipher.update(crypted, 'hex', 'utf8')+decipher.final('utf8'); } let key = '1234567891234567'; let iv = '1234567891234567'; let text = 'hello world'; let enc = aesEncrypt(text,key,iv); console.log(aesDecrypt(enc,key,iv));
文件加密
const crypto = require('crypto'); const fs = require('fs'); let key = '1234567891234567'; let iv = '1234567891234567'; let path = __dirname+'/files/blockchain-cat.pdf'; let enPath = __dirname+'/encrypt/blockchain-cat.pdf'; let dePath = __dirname+'/decrypt/blockchain-cat.pdf'; function aesEncryptNew(buff,key,iv){ let cipher = crypto.createCipheriv('aes-128-cbc', key, iv); return cipher.update(buff,'','hex')+cipher.final('hex'); } function aesDecryptNew(buff,key,iv){ let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv); return decipher.update(buff,'','hex')+decipher.final('hex'); } let buff = fs.readFileSync(path); let buffEnc = aesEncryptNew(buff,key,iv); fs.writeFileSync(enPath,new Buffer(buffEnc,'hex')); hexContent = fs.readFileSync(enPath); let deHex = aesDecryptNew(hexContent,key,iv); fs.writeFileSync(dePath,new Buffer(deHex,'hex'));
相关文章推荐
- Node.js中AES加密和其它语言不一致问题解决办法
- Node.js 基于 ursa 模块的 RSA 加密解密(已与IOS,Android实现加密通信)
- Node.js中AES加密和其它语言不一致问题解决办法
- 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)
- Java与Node.js利用AES加密解密出相同结果的方法示例
- node.js AES/ECB/PKCS5Padding 与其他语言的加密解密通用
- node.js AES/ECB/PKCS5Padding 与其他语言的加密解密通用
- 基于Node.js服务器的WebSocket Video
- React Native + Nodejs 使用RSA加密登录
- Node.js微服务 2 :基于Seneca和PM2构建Node.js微服务
- 基于windows下,node.js之npm
- Node.js进阶:5分钟入门非对称加密方法
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- 基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
- 创业笔记-Node.js入门之一个完整的基于Node.js的web应用
- 基于node.js的网页抓捕
- 基于 Node.js 的轻量「持续集成」工具 CIZE
- 【基于node.js+express的web开发备忘】--技术分享(TShare)站点-资源模块
- NodeBB – 基于 Node.js 的开源论坛系统
- 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs