Node.js加密算法

散列算法(哈希算法)

//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.js加密算法)