最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

nodejs加密Crypto的实例代码

来源:动视网 责编:小采 时间:2020-11-27 20:26:56
文档

nodejs加密Crypto的实例代码

nodejs加密Crypto的实例代码:加密技术通常分为两大类:对称式和非对称式。对称式加密:就是加密和解密使用同一个密钥,通常称之为Session Key 这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的对称式加密法,它的Session Key长度为56
推荐度:
导读nodejs加密Crypto的实例代码:加密技术通常分为两大类:对称式和非对称式。对称式加密:就是加密和解密使用同一个密钥,通常称之为Session Key 这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的对称式加密法,它的Session Key长度为56


加密技术通常分为两大类:“对称式”和“非对称式”。

对称式加密:

就是加密和解密使用同一个密钥,通常称之为“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的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多PHP中文网。

更多nodejs加密Crypto的实例代码相关文章请关注PHP中文网!

文档

nodejs加密Crypto的实例代码

nodejs加密Crypto的实例代码:加密技术通常分为两大类:对称式和非对称式。对称式加密:就是加密和解密使用同一个密钥,通常称之为Session Key 这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的对称式加密法,它的Session Key长度为56
推荐度:
标签: 加密 代码 例子
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top