1. ホーム
  2. ジャバスクリプト

[解決済み】Node.jsで安全なランダムトークン

2022-03-26 04:58:21

質問

この質問 Erik は、Node.js で安全なランダムトークンを生成する必要があります。メソッドがあります。 crypto.randomBytes はランダムなBufferを生成する。しかし、nodeのbase64エンコーディングはurl-safeではなく、その中には /+ ではなく -_ . したがって、このようなトークンを生成する最も簡単な方法は、私が見つけたものです。

require('crypto').randomBytes(48, function(ex, buf) {
    token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});

もっとエレガントな方法はないのでしょうか?

どのように解決するのですか?

試す crypto.randomBytes() :

require('crypto').randomBytes(48, function(err, buffer) {
  var token = buffer.toString('hex');
});

hex' エンコーディングは node v0.6.x またはそれ以降で動作します。