Буфер toString включает все буквы алфавита - PullRequest
0 голосов
/ 08 июня 2018

Я использую Node.js для создания безопасных случайных токенов.Возьмите этот пример:

crypto.randomBytes(32).toString("hex");
// dd89d6ab1a7196e8797c2da0da0208a5d171465a9d8e918d3b138f08af3e1852

Это здорово, но это намного дольше, чем нужно.Я хочу включить все буквы алфавита, а не только a - f.Еще лучше, если он также включает заглавные буквы.Помните, что он должен быть защищенным , поэтому он не может использовать Math.random.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Создайте случайное число подходящего размера.Преобразуйте его в базу 36 (для 0..9, a..z) или базу 62 (для 0..9, a..z, A..Z).

0 голосов
/ 08 июня 2018

Используйте это:

crypto.randomBytes(32).toString('base64');
...