茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    nodejs加密Crypto的實例代碼
    來源:易賢網(wǎng) 閱讀:1165 次 日期:2016-07-25 16:07:45
    溫馨提示:易賢網(wǎng)小編為您整理了“nodejs加密Crypto的實例代碼”,方便廣大網(wǎng)友查閱!

    下面小編就為大家?guī)硪黄猲odejs加密Crypto的實例代碼。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。

    加密技術(shù)通常分為兩大類:“對稱式”和“非對稱式”。

    對稱式加密:

    就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術(shù)在當今被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56bits。

    非對稱式加密:

    就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。

    加密為系統(tǒng)中經(jīng)常使用的功能,node自帶強大的加密功能Crypto,下面通過簡單的例子進行練習。

    1、加密模塊的引用:

    var crypto=require('crypto');

    var $=require('underscore');var DEFAULTS = {

      encoding: {

        input: 'utf8',

        output: 'hex'

      },

      algorithms: ['bf', 'blowfish', 'aes-128-cbc']

    };

    默認加密算法配置項:

    輸入數(shù)據(jù)格式為utf8,輸出格式為hex,

    算法使用bf,blowfish,aes-128-abc三種加密算法;

    2、配置項初始化:

    function MixCrypto(options) {

      if (typeof options == 'string')

        options = { key: options };

      options = $.extend({}, DEFAULTS, options);

      this.key = options.key;

      this.inputEncoding = options.encoding.input;

      this.outputEncoding = options.encoding.output;

      this.algorithms = options.algorithms;

    }

    加密算法可以進行配置,通過配置option進行不同加密算法及編碼的使用。

    3、加密方法代碼如下: 

    MixCrypto.prototype.encrypt = function (plaintext) {

      return $.reduce(this.algorithms, function (memo, a) {

        var cipher = crypto.createCipher(a, this.key);

        return cipher.update(memo, this.inputEncoding, this.outputEncoding)

          + cipher.final(this.outputEncoding)

      }, plaintext, this);

    };

    使用crypto進行數(shù)據(jù)的加密處理。

    4、解密方法代碼如下:

    MixCrypto.prototype.decrypt = function (crypted) {

      try {

        return $.reduceRight(this.algorithms, function (memo, a) {

          var decipher = crypto.createDecipher(a, this.key);

          return decipher.update(memo, this.outputEncoding, this.inputEncoding)

            + decipher.final(this.inputEncoding);

        }, crypted, this);

      } catch (e) {

        return;

      }

    };

    使用crypto進行數(shù)據(jù)的解密處理。

    通過underscore中的reduce、reduceRight方法,進行加密和解密的算法執(zhí)行。

    本文根據(jù)民少編寫的算法進行編寫,如有不足之處,敬請原諒。菜鳥在路上,繼續(xù)前進。

    以上這篇nodejs加密Crypto的實例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機網(wǎng)站地址:nodejs加密Crypto的實例代碼

    2026上岸·考公考編培訓報班

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)