公開日: 2021-08-07
更新日: 2021-08-07
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