【Node.js24.x】Object::randomFillSync()メソッドの使い方
randomFillSyncメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
randomFillSyncメソッドは、与えられたBufferまたはTypedArrayオブジェクトを、暗号学的に安全な乱数で埋める同期処理のメソッドです。このメソッドは、主にセキュリティが要求される場面で、予測不可能な乱数を生成するために使用されます。例えば、暗号鍵の生成、ランダムなセッションIDの作成、あるいはワンタイムパスワードの生成といった用途に活用できます。
このメソッドは、乱数を埋める対象となるBufferまたはTypedArrayのインスタンスを第一引数に取ります。オプションとして、データの書き込みを開始するオフセット(開始位置)や、書き込むバイト数(データの長さ)を指定することも可能です。処理が完了すると、乱数で埋められた元のBufferまたはTypedArrayオブジェクトが返されます。
randomFillSyncは同期的に動作するため、処理中はNode.jsのイベントループがブロックされます。そのため、大量のデータを扱う際や、アプリケーションの応答性を維持したい場合には、非同期版であるrandomFillメソッドの利用を検討することが推奨されます。このメソッドはNode.jsのcryptoモジュールに属しており、安全な乱数生成機能を提供することで、アプリケーションのセキュリティ向上に貢献します。
構文(syntax)
1const crypto = require('node:crypto'); 2const buffer = Buffer.alloc(16); 3crypto.randomFillSync(buffer); 4console.log(buffer);
引数(parameters)
buffer, offset = 0, size = buffer.length - offset
- buffer: Buffer: 乱数で埋める対象のBufferオブジェクト
- offset: number = 0: 乱数を書き込み開始するBuffer内のオフセット(位置)。デフォルトは0(先頭)
- size: number = buffer.length - offset: 乱数を書き込むバイト数。デフォルトは、オフセットからBufferの終端までの残りのバイト数
戻り値(return)
Buffer
指定されたバッファ(Buffer)オブジェクトが返されます。このバッファには、ランダムなデータが同期的に書き込まれています。