zoukankan      html  css  js  c++  java
  • 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是解密

  • 相关阅读:
    20201016---不做清单
    20201014--增删改查
    20201013--什么是真实的自己?
    多态
    继承
    关键字
    分类思想
    常用的linux命令
    九九乘法表
    稀疏数组
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4630781.html
Copyright © 2011-2022 走看看