最基本的就是经常用的md5加密算法
代码如下
var MD5=function (data) {
var _encrymd5 = require('crypto').createHash('md5');
var Buffer = require("buffer").Buffer; //解决中文不一致的BUG
var buf = new Buffer(data);
var str = buf.toString("binary");
_encrymd5.update(new Buffer(str).toString("binary"));
return _encrymd5.digest('hex').toUpperCase();;
}
因为md5是哈希算法 一般哈希算法都是不可逆的
用CreateHash创建一个对象
用update来加密 digest来输出结果 参数是输出的编码格式
DES加解密
因为DES不是哈希所以加密用createCipheriv解密用createDecipheriv的方法
代码如下
var cipheriv = function (en, code, data) {
var buf1 = en.update(data, code), buf2 = en.final();
var r = new Buffer(buf1.length + buf2.length);
buf1.copy(r); buf2.copy(r, buf1.length);
return r;
};
var EncryptDES=function (data, key, vi) {
return data = cipheriv(_crypto.createCipheriv('des', key, vi), 'utf8', data).toString('base64');
};
var DecryptDES= function (data, key, vi) {
return cipheriv(_crypto.createDecipheriv('des', key, vi), 'base64', data) .toString('utf8');
};
data就是加解密的数据 key 就是密钥 vi就是 密钥向量
EncryptDES是加密 DecryptDES是解密