Node.jsでランダムな文字列を生成する

公開日: 2021-08-07

更新日: 2021-08-07

  • Tech
  • Node.js
  • Tips

実行環境

nodeのバージョンはv14.17.2を使用しています。

$ node -v
v14.17.2

ランダムな文字列を生成する

今回はcryptというnpmパッケージを使用します。

実装方法

まず、require('crypto').randomBytes()で任意の長さのランダムバイトの配列を生成します。

$ node -e "console.log(require('crypto').randomBytes(64));"
<Buffer 41 2f 2e 28 55 0c 43 fa 02 07 65 52 c4 ed dc 26 a4 0a f3 12 79 2f e4 dd 7b a0 5b 2d 75 e5 98 1b 21 44 92 18 0c 06 ae 01 26 1a be 54 0d 93 a3 da 70 f0 ... 14 more bytes>

これをtoString()で文字列に変換することでランダムな文字列の生成が実現できます。

以下の例では64byteのランダムバイトの配列を生成した後、16進数の文字列に変換しています。

実行例

$ node -e "console.log(require('crypto').randomBytes(64).toString('hex'));" 
ac6d26b6b4f9edf72ec669a03d01a1fee25672b0508db26ddc57861a9909418a8dcd2aba6fbfe27e2ebc9ab377cee840e22a87ac5f765208fcd3b15fe3971d43
yona

yona

琉球大学の理学部に所属している大学3年生です。 趣味と仕事でWebアプリ開発やシステム開発をしています。