zoukankan      html  css  js  c++  java
  • crypto加密

    /* hash.js */
        var crypto = require('crypto');
    module.exports = function(){
         this.encode = function(){
              var algorithm  = arguments[0] ? arguments[0] : ''
            , enstring   = arguments[1] ? arguments[1] : ''
            , returnType = arguments[2] ? arguments[2] : '';
          if( algorithm ){
               var hash = crypto.createHash(algorithm);
               hash.update(enstring);
               return hash.digest(returnType);
          }
          console.log('Please input encryption param');
     }
    }
     
    /* target.js */
    module.exports = function(){
            this.encode = function(){}
            this.decode = function(){}
    }
     
    /* adapter.js */
     
    var util = require('util'),
        Target = require('./target');
     
    function Adapter(){
            Target.call(this);
            this.encode = function(){
                    var encodeModule = arguments[0] ? arguments[0] : null
                      , algorithm    = arguments[1] ? arguments[1] : ''  
                      , enstring     = arguments[2] ? arguments[2] : ''
                      , returnType   = arguments[3] ? arguments[3] : ''
                      ,AdapteeClass = require("./" + encodeModule)
                      ,adapteeObj = new AdapteeClass();
                      return adapteeObj.encode(algorithm, enstring, returnType, encodeKey, encodeType);
            }
    }
     
    util.inherits(Adapter,Target);
    module.exports = Adapter;
     
    /* test.js */
    var AdapterClass = require('./adapter');
    var Adapter = new AdapterClass();
    var hashEncodeStr = Adapter.encode('hash', 'md5', 'yuejide', 'hex');
    console.log(hashEncodeStr);
     
    var http = require('http');
    var crypto = require('crypto')
    http.createServer(function(req,res){
     res.writeHead(200, {'Content-Type' : 'text/html'});
     var md5 = crypto.createHash('md5');
     var passwd = md5.update('admin').digest('hex');
     res.end(passwd);
    }).listen(8888);
  • 相关阅读:
    entity framework 缓存干扰的数据不一致问题
    async中await是干啥的,用不用有什么区别?
    await使用中的阻塞和并发
    Quartz.Net—MisFire
    Quartz.net misfire实践
    Quartz.NET 前一次任务未执行完成时不触发下次的解决方法
    Omni(USDT)钱包安装(ubuntu)
    USDT(omniCore)测试环境搭建
    WaitAll 和 WhenAll 的使用及区别
    C# 之 FileSystemWatcher事件多次触发的解决方法
  • 原文地址:https://www.cnblogs.com/yulei126/p/6786082.html
Copyright © 2011-2022 走看看