nodejs加密Crypto的实例代码
2016-07-07 00:00
966 查看
加密技术通常分为两大类:“对称式”和“非对称式”。
对称式加密:
就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56bits。
非对称式加密:
就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
加密为系统中经常使用的功能,node自带强大的加密功能Crypto,下面通过简单的例子进行练习。
1、加密模块的引用:
默认加密算法配置项:
输入数据格式为utf8,输出格式为hex,
算法使用bf,blowfish,aes-128-abc三种加密算法;
2、配置项初始化:
加密算法可以进行配置,通过配置option进行不同加密算法及编码的使用。
3、加密方法代码如下:
使用crypto进行数据的加密处理。
4、解密方法代码如下:
使用crypto进行数据的解密处理。
通过underscore中的reduce、reduceRight方法,进行加密和解密的算法执行。
本文根据民少编写的算法进行编写,如有不足之处,敬请原谅。菜鸟在路上,继续前进。
以上这篇nodejs加密Crypto的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
nodejs获取本机内网和外网ip地址的实现代码
NodeJS与Mysql的交互示例代码
nodejs分页类代码分享
轻松创建nodejs服务器(3):代码模块化
用nodejs实现PHP的print_r函数代码
nodeJs爬虫获取数据简单实现代码
nodeJS代码实现计算交社保是否合适
你一定会收藏的Nodejs代码片段
Node.js如何自动审核团队的代码
对称式加密:
就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56bits。
非对称式加密:
就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
加密为系统中经常使用的功能,node自带强大的加密功能Crypto,下面通过简单的例子进行练习。
1、加密模块的引用:
var crypto=require('crypto'); var $=require('underscore');var DEFAULTS = { encoding: { input: 'utf8', output: 'hex' }, algorithms: ['bf', 'blowfish', 'aes-128-cbc'] };
默认加密算法配置项:
输入数据格式为utf8,输出格式为hex,
算法使用bf,blowfish,aes-128-abc三种加密算法;
2、配置项初始化:
function MixCrypto(options) { if (typeof options == 'string') options = { key: options }; options = $.extend({}, DEFAULTS, options); this.key = options.key; this.inputEncoding = options.encoding.input; this.outputEncoding = options.encoding.output; this.algorithms = options.algorithms; }
加密算法可以进行配置,通过配置option进行不同加密算法及编码的使用。
3、加密方法代码如下:
MixCrypto.prototype.encrypt = function (plaintext) { return $.reduce(this.algorithms, function (memo, a) { var cipher = crypto.createCipher(a, this.key); return cipher.update(memo, this.inputEncoding, this.outputEncoding) + cipher.final(this.outputEncoding) }, plaintext, this); };
使用crypto进行数据的加密处理。
4、解密方法代码如下:
MixCrypto.prototype.decrypt = function (crypted) { try { return $.reduceRight(this.algorithms, function (memo, a) { var decipher = crypto.createDecipher(a, this.key); return decipher.update(memo, this.outputEncoding, this.inputEncoding) + decipher.final(this.inputEncoding); }, crypted, this); } catch (e) { return; } };
使用crypto进行数据的解密处理。
通过underscore中的reduce、reduceRight方法,进行加密和解密的算法执行。
本文根据民少编写的算法进行编写,如有不足之处,敬请原谅。菜鸟在路上,继续前进。
以上这篇nodejs加密Crypto的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
NodeJS的模块写法入门(实例代码)nodejs获取本机内网和外网ip地址的实现代码
NodeJS与Mysql的交互示例代码
nodejs分页类代码分享
轻松创建nodejs服务器(3):代码模块化
用nodejs实现PHP的print_r函数代码
nodeJs爬虫获取数据简单实现代码
nodeJS代码实现计算交社保是否合适
你一定会收藏的Nodejs代码片段
Node.js如何自动审核团队的代码
相关文章推荐
- 用ASP编写的加密和解密类
- 使用ruby部署工具mina快速部署nodejs应用教程
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- BAT加密工具 EncryBat 非编译型bat批处理加密方案与代码
- C#对称加密(AES加密)每次生成的结果都不同的实现思路和代码实例
- SQLServer 2008中的代码安全(一) 存储过程加密与安全上下文
- 实例讲解SQL Server加密功能
- C#实现对文件进行加密解密的方法
- C#实现数据包加密与解密实例详解
- C#最简单的字符串加密解密方法
- C#加密app.config中连接字符串的方法
- C#使用伪随机数实现加密用户密码的方法
- asp MD5加密方式使用建议
- Google官方支持的NodeJS访问API,提供后台登录授权
- 浅谈Nodejs观察者模式
- nodejs教程之环境安装及运行
- nodejs中的fiber(纤程)库详解
- 基于NodeJS的前后端分离的思考与实践(五)多终端适配
- 基于NodeJS的前后端分离的思考与实践(二)模版探索
- 实例详解Nodejs 保存 payload 发送过来的文件