Безопасный случайный токен в Node.js

В этот вопрос Эрику необходимо сгенерировать безопасный случайный токен в Node.js. Есть метод crypto.randomBytes , который генерирует случайный буфер. Однако кодировка base64 в узле небезопасна для URL-адресов, она включает / и + вместо - и _ . Поэтому самый простой способ сгенерировать такой токен, который я нашел, - это

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

Есть ли более элегантный способ?

248
задан Community 23 May 2017 в 02:10
поделиться