Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Node.jsのcrypto.pbkdf2()メソッド


パスワードベースの鍵導出関数とも呼ばれるcrypto.pbkdf2()は、微分関数の非同期実装を提供します。キーは、パスワード、ソルト、および反復から指定されたアルゴリズムのHmacダイジェストを使用して導出されます

構文

 crypto.createHmac(algorithm、key、[options])

パラメータ

上記のパラメータは以下のように記述されます-

  • パスワード –要求されたバイト長のキーを取得するために定義されたパスワード。可能な値は、string、DataView、Bufferなどのタイプです。

  • –キーを取得するためのパスワードに似ています。可能な値は、string、DataView、Bufferなどのタイプです。

  • 反復 –要求されたバイト長の目的のキーを取得します。値を数値として受け入れます。

  • キーレン –これは、キーの要求されたバイト長です。タイプ番号です。

  • ダイジェスト – Hmacアルゴリズムは、このダイジェスト値によって指定されます。デフォルト値は「sha1」です

  • コールバック –非同期モードでエラーが発生した場合、コールバックで処理されます

pbkdf2.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すようにこのコードを実行します-

 node pbkdf2.js 

pbkdf2.js

 // crypto.pbkdf2()デモの例//暗号モジュールのインポートconst crypto =require('crypto'); //次のオプションを使用してpbkdf2を定義するcrypto.pbkdf2('secret'、'salt'、100000、64 、'sha512'、(err、derivatedKey)=> {if(err)throw err; //派生キーの出力console.log( "Key Derived:"、derivatedKey.toString('hex'));}); 

出力

 C:\ home \ node>> node pbkdf2.jsKey Derived:3745e482c6e0ade35da10139e797157f4a5da669dad7d5da88ef87e47471cc47ed941c7ad618e827304f083f8707f12b7cfdd5f489b782f10cc269e3c08d59ae 

もう1つの例を見てみましょう。

 // crypto.pbkdf2()デモの例//暗号モジュールのインポートconst crypto =require('crypto'); //次のオプションを使用してpbkdf2を定義するcrypto.pbkdf2('secret'、'salt'、100、64 、'sha1'、(err、derivatedKey)=> {if(err)throw err; //派生キーの出力console.log( "Key Derived:"、derivatedKey); console.log( "Key Derived in hex:" 、derivatedKey.toString('hex')); console.log( "Key Derived in base64:"、derivatedKey.toString('base64'));}); 

出力

 C:\ home \ node>> node pbkdf2.jsKey Derived:キーヘクスに派生:tzY198CILh / Dum4psUrxJ034SCi00Y / MIi61dEVfUF09IxkTLYThkaeD4gBzTjdKJLYs + RZD + 16dworhRwckGQ ==
:BASE64で導出b73635f7c0882e1fc3ba6e29b14af1274df84828b4d18fcc222eb574455f505d3d2319132d84e191a783e200734e374a24b62cfab65dfb5e9dc28ae147072419Key
  1. Node.jsのcrypto.privateDecrypt()メソッド

    crypto.privateDecrypt()は、crypto.publicEncrypt()メソッドで対応する公開鍵を使用して以前に暗号化されたパラメーターで渡された秘密鍵を使用して、指定されたデータコンテンツを復号化するために使用されます。 構文 crypto.privateDecrypt(privateKey、buffer) パラメータ 上記のパラメータは以下のように記述されます- キー –オブジェクト、文字列、バッファ、またはKeyObjectの5種類のデータを含めることができます。 oaepHash –このフィールドには、OAEPパディングとMGF1に使用されるハ

  2. Node.jsのcrypto.getHashes()メソッド

    crypto.getHashes()メソッドは、サポートされているすべてのハッシュアルゴリズムの名前を含む配列を返します。暗号パッケージには、使用できるハッシュアルゴリズムの膨大なリストがあります。ただし、最も使用されている暗号化アルゴリズムは「MD5 –メッセージダイジェストアルゴリズム5」です。 構文 crypto.getHashes() パラメータ すべてのハッシュアルゴリズムのリストを返すためです。入力する必要はありません。 例 getHashes.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すよ