Node.js的DES加解密和MD5加密

最基本的就是经常用的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是解密

原文地址:https://www.cnblogs.com/wuxiang/p/4630781.html