でこの質問ErikはNode.jsで安全なランダムトークンを生成する必要があります。ランダムバッファを生成するメソッドがありますcrypto.randomBytes
。しかし、Nodeのbase64エンコードはURLセーフではなく、との代わりに/
が含まれています。したがって、私が見つけたそのようなトークンを生成する最も簡単な方法は次のとおりです。+
-
_
require('crypto').randomBytes(48, function(ex, buf) {
token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});
もっとエレガントな方法はありますか?
ベストアンサー1
試す暗号.ランダムバイト():
require('crypto').randomBytes(48, function(err, buffer) {
var token = buffer.toString('hex');
});
「hex」エンコーディングは、Node v0.6.x 以降で機能します。