Node.js加密算法
2015-11-17 14:31
633 查看
散列算法(哈希算法)
//node中,使用crypto模块来实现数据的加密与解密处理
var crypto = require('crypto');
//createHash方法中,参数为指定需要使用的散列算法,创建一个hash对象
var hash = crypto.createHash('md5');
var str = "123";
//使用hash对象的update方法创建一个摘要
//update方法有两个参数,第一个为一个Buffer对象或者一个字符串,指定内容,第二个为指定的内容所需使用的编码格式,可指定参数值为:utf8、ascii、binary
//注意:如果不使用第二个参数,则第一个参数必须是一个Buffer对象
hash.update(str,"utf8");
//使用hash对象的digest方法来输出摘要内容,使用一个可选参数,用于指定输出摘要的编码格式,可指定的参数值为:hex、binary、base64
//注意:如果省略该参数,将返回一个Buffer对象
var d = hash.digest('hex');
console.log(d);
HMAC算法(将散列算法与一个密钥结合在一起)
var crypto = require('crypto');
var fs = require('fs');
//密钥文件
var pem = fs.readFileSync('key.pem');
var key = pem.toString('ascii');
//key为一个字符串,用于指定一个PEM格式的密钥
var hmac = crypto.createHmac('sha1',key);
var s = fs.readStream('./app.js');
s.on('data',function(d){
hmac.update(d);
});
s.on('end',function(){
var d = hmac.digest('hex');
console.log(d);
});
//node中,使用crypto模块来实现数据的加密与解密处理
var crypto = require('crypto');
//createHash方法中,参数为指定需要使用的散列算法,创建一个hash对象
var hash = crypto.createHash('md5');
var str = "123";
//使用hash对象的update方法创建一个摘要
//update方法有两个参数,第一个为一个Buffer对象或者一个字符串,指定内容,第二个为指定的内容所需使用的编码格式,可指定参数值为:utf8、ascii、binary
//注意:如果不使用第二个参数,则第一个参数必须是一个Buffer对象
hash.update(str,"utf8");
//使用hash对象的digest方法来输出摘要内容,使用一个可选参数,用于指定输出摘要的编码格式,可指定的参数值为:hex、binary、base64
//注意:如果省略该参数,将返回一个Buffer对象
var d = hash.digest('hex');
console.log(d);
HMAC算法(将散列算法与一个密钥结合在一起)
var crypto = require('crypto');
var fs = require('fs');
//密钥文件
var pem = fs.readFileSync('key.pem');
var key = pem.toString('ascii');
//key为一个字符串,用于指定一个PEM格式的密钥
var hmac = crypto.createHmac('sha1',key);
var s = fs.readStream('./app.js');
s.on('data',function(d){
hmac.update(d);
});
s.on('end',function(){
var d = hmac.digest('hex');
console.log(d);
});
相关文章推荐
- dom4j获取某个已知节点的值+循环名字相同的节点
- 用nodejs搭建一个简单的服务监听程序
- node.js抓取并分析网页内容有无特殊内容的js文件
- nodeJs学习
- parentNode parentElement childNodes children
- [LintCode] Remove Nth Node From End of List
- Node v0.12.5 稳定版发布
- MEAN教程2-Nodejs安装
- node.js抓取并分析网页内容有无特殊内容的js文件
- [神器推荐]node-webkit:跨平台桌面web应用的神器,非常有用(转)
- 查看job的详细日志出错: Aggregation is not enabled. Try the nodemanager at d2.hadoop:42812
- Node.js学习笔记11-模块引擎
- Node.js学习笔记9——Express框架
- [LeetCode]88. Swap Nodes in Pairs链表成对逆序
- [LeetCode]88. Swap Nodes in Pairs链表成对逆序
- nodejs使用radis
- nodejs npm gulp bower 几点
- nodejs抓取页面内容,并分析有无某些内容的js文件
- PHP vs Node.js
- jello环境配置