Node.jsのcrypto.randomBytes()メソッド
crypto.randomBytes()は、暗号的に強力な疑似ランダムデータを生成します。このメソッドは、作成されたバイトに十分なエントロピーが存在するまで完了しません。しかし、この後でも、数ミリ秒以上かかることはありません。このメソッドは基本的に、さらに使用されるいくつかのランダムなバイトを作成します。
構文
crypto.randomBytes(size、[callback])
パラメータ
上記のパラメータは以下のように記述されます-
-
サイズ –この引数は、生成されるバイト数を定義します。サイズは2**31 –1を超えてはなりません。
-
コールバック –メソッドでエラーが発生した場合、コールバックが呼び出されます。
例
randomBytes.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すようにこのコードを実行します-
node randomBytes.js
randomBytes.js
// crypto.randomBytes()非同期デモの例//暗号モジュールのインポートconst crypto =require('crypto'); crypto.randomBytes(64、(err、buf)=> {if(err)throw err; console .log( `$ {buf.length}バイトのランダムデータ:$ {buf.toString('hex')}`);});
出力
C:\ home \ node>>ノードrandomBytes.js64バイトのランダムデータ:eb2bcebb999407286caea729998e7fa0c089178f8ca43857e73ea3ff66dbe1852af24a4b0199be9192798a3f8ad6d6475db3621cfacf38dcb0fba5d77d73aaf例
もう1つの例を見てみましょう。
// crypto.randomBytes()同期デモの例//暗号モジュールのインポートconst crypto =require('crypto'); const buffer =crypto.randomBytes(256); console.log( `$ {buffer.length} bytesランダムデータの:$ {buffer.toString('base64')} `);出力
C:\ホーム\ノード>>ノードrandomBytes.js256バイトランダムデータの:n7yfRMo / ujHfBWSF2VFdevG4WRbBoG9Fqwu51 + / 9ZBUV6Qo88YG7IbcEaIer + G + OgjMv4RyNQ6 / 67aF5xWmkOR3oA6J6bdAJ1pbstTuhIfItF1PQfP26YXk1QlaoKy / YJxPUngyK4kNG9O04aret4D + 2qIq9BUaQcv + R9Xi014VKNUDZ + YQKEaLHBhJMq6JgehJ56iNbdNJ4 + PN7SQwjNdZ8gS76izAwYsSZ7Kuyx2VzdXIKsLmjleuJ2DZ7 / 6Yyn8WM9463dhuh0KQ5nwFbgzucvjmdvDjBlGFZBGlKs6AXqYh + 0Oe6Ckkv3OpnXOJs + GExbmnvjaeDQ03khpdJfA ==
-
Node.jsのcrypto.privateDecrypt()メソッド
crypto.privateDecrypt()は、crypto.publicEncrypt()メソッドで対応する公開鍵を使用して以前に暗号化されたパラメーターで渡された秘密鍵を使用して、指定されたデータコンテンツを復号化するために使用されます。 構文 crypto.privateDecrypt(privateKey、buffer) パラメータ 上記のパラメータは以下のように記述されます- キー –オブジェクト、文字列、バッファ、またはKeyObjectの5種類のデータを含めることができます。 oaepHash –このフィールドには、OAEPパディングとMGF1に使用されるハ
-
Node.jsのcrypto.getHashes()メソッド
crypto.getHashes()メソッドは、サポートされているすべてのハッシュアルゴリズムの名前を含む配列を返します。暗号パッケージには、使用できるハッシュアルゴリズムの膨大なリストがあります。ただし、最も使用されている暗号化アルゴリズムは「MD5 –メッセージダイジェストアルゴリズム5」です。 構文 crypto.getHashes() パラメータ すべてのハッシュアルゴリズムのリストを返すためです。入力する必要はありません。 例 getHashes.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すよ