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

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


crypto.randomFill()メソッドとcrypto.randomBytes()メソッドはどちらもほぼ同じです。 2つの違いは次のとおりです。– randomFill()メソッドでは、最初の引数はいっぱいになるバッファです。また、コールバックが構成されている場合にのみエラーが発生したときに呼び出されるコールバックメソッドもあります。

構文

crypto.randomFill(buffer, [offset], [size], [callback])

パラメータ

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

  • バッファ –このフィールドには、データの内容が含まれます。可能なバッファタイプは、string、TypedArray、Buffer、ArrayBuffer、DataViewです。バッファのサイズは2**31-1を超えることはできません。

  • オフセット –randomFillが開始する場所からのオフセットの値。デフォルト値は0です。

  • サイズ –オフセット後のバッファーのサイズ。つまり、(buffer.length-offset)。この値は2**31-1を超えることはできません。

  • コールバック –エラーがスローされたときに呼び出される関数。

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

node randomFill.js

randomFill.js

// Node.js program to demonstrate the flow of crypto.randomFill() method

// Importing the crypto module
const crypto = require('crypto');
const fs = require("fs");

// Initialising the buffer bytes value
const buf = Buffer.alloc(6);

// Calling the randomFill method with buffer and a callback
crypto.randomFill(buf, (err, buf) => {
   if (err) throw err;
   // Printing the buffer data value after filling
   console.log(buf.toString('ascii'));
});

//Calling the randomFill with all the parameters defined above
crypto.randomFill(buf, 3, 2, (err, buf) => {
   if (err) throw err;
   // Printing the new random data in buffer
   console.log(buf.toString('base64'));
});

// We can see that the output will be same for below function
crypto.randomFill(buf, 3, 3, (err, buf) => {
   if (err) throw err;
   console.log(buf.toString('base64'));
});

出力

C:\home\node>> node randomFill.js
f!]"+–
ZqHdoit8
ZqHdoit8

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

// Node.js program to demonstrate the flow of crypto.randomFill() method

// Importing the crypto module
const crypto = require('crypto');
const fs = require("fs");

// Initialising the buffer bytes value using data view
const data = new DataView(new ArrayBuffer(16));

// Calling the randomFill method with buffer and a callback
crypto.randomFill(data, (err, buf) => {
   if (err) throw err;
   // Printing the randomFill data with encoding
   console.log(Buffer.from(buf.buffer,
      buf.byteOffset, buf.byteLength).toString('ascii'));
});
を使用してrandomFillデータを出力する

出力

C:\home\node>> node randomFill.js
>h(Be#D8h0

  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という名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すよ