Node.js でランダムトークンを安全にする 質問する

Node.js でランダムトークンを安全にする 質問する

この質問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 以降で機能します。

おすすめ記事