nodeJS:MD 5暗号化

1505 ワード

MD 5
  • md 5:暗号化アルゴリズムではなく、ファイル検証用の
  • です.
  • の役割:大容量情報は、デジタル署名ソフトウェアが秘密鍵に署名する前に「圧縮」され、すなわち任意の長さのバイト列を一定の長さの16進数字列(32文字)に変換することである.
  • 一致検証
  • デジタル署名
  • セキュリティアクセス認証
  • 特徴:不可逆
  • 入力と2つの異なる平文は同じ出力値
  • を得られません.
  • は、出力値に基づいて、元の平文を得ることができない、すなわち、プロセス不可逆
  • である.
    MD 5の性質
  • 圧縮性:任意の長さのデータを、固定長のMD 5値
  • に変換する.
  • は計算しやすいです.元のデータからMD 5値を計算すると簡単です.
  • 抗修正:元のデータを任意に変更し、最終的に得られたMD 5値には大きな違いがあります.
  • 弱抵抗衝突:元のデータとそのMD 5値を知っていて、同じMD 5値を持つデータ(すなわち偽造データ)を探すのは非常に難しい.
  • HMAC
  • MD 5暗号化のセキュリティをさらに向上させる
  • は、明文を暗号化して「2回のハッシュ」を行う「秘密鍵」であるが、これを使って得られるのは32文字
  • である.
  • 用HMAC
  • は、ハッシュアルゴリズムを利用して、1つの秘密鍵と1つの情報を入力として、出力
  • としてメッセージ要約を生成する.
    nodeJSの中のcrypt
  • crypt.reate Hash():Hashのインスタンスを作成し、newのキーワードを使ってオブジェクトを作成できません.
  • hash.udate()
  • hash.digest()
  • create.create Hmac():Hmacの例を作成します.newキーワードを使ってオブジェクトを作成することはできません.
  • hmac.udate()
  • hmac.digest()
  • crypt.reat Hash()
    //     crypto
    const crypto = require('crypto'); 
    function md5(data){
      //  md5          
      let hash = crypto.createHash('md5');
      return hash.update(data).digest('base64');
    }
    let mima = md5(md5('dandan')+'li'));
    
    crypt.reate Hmac()
    //     crypto
    const crypto = require('crypto');
    function hmac(data){
      let hmac = crypto.createHmac('md5','    /   ');
      return hmac.update(data).digest('base64');
    }
    let mima = hmac('dandan');