Node.js利用Crypto模組產生亂數字串

 兩階段驗證的流程中需要一個金鑰,測試時因為只有一名使用者,所以就自行指定亂數字串。

但是如果有多位使用者,自訂亂數字串就顯得不合時宜了。

在網路上找到crypto模組可以產生亂數,我的程式如下,記錄一下以方便未來直接引用


import crypto from 'crypto';

let buf = crypto.randomBytes(12);

let buf_str = buf.toString('base64');

console.log(buf_str);


randomBytes會傳回指定Bytes長度的亂數資料,其類型為 binary buffer

利用toString()並指定base64編碼轉成字串

這樣就可以很方便取得亂數字串了。

支援的編碼類型有:ascii, utf8, utf16le/ucs2, base64, binary,  hex