Генерировать случайную строку БЕЗ времени? - PullRequest
0 голосов
/ 20 декабря 2018

Я знаю, как генерировать случайную строку в ходу, используя Runes & sending rand.Init с time.UnixNano().Мой вопрос: возможно ли (с помощью stdlib) заполнить rand без использования текущей метки времени (безопасной)?

Кроме того, я спрашиваю, потому что не просто полагается на время для генерации случайной строки для чувствительногонебезопасная / уязвимая операция?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Вы можете заполнить это чем угодно, просто нужно целое число.Время обычно используется, потому что оно меняется, и источников хороших случайных начальных чисел, которые не являются постоянными, не так уж много..

Это небезопасно?Абсолютно!Если вам нужно безопасное генерирование случайных чисел, вы должны использовать crypto/rand вместо этого: https://golang.org/pkg/crypto/rand/

crypto/rand не предлагает способ его заполнения, потому что этозасевается с использованием системного криптографически сильного генератора случайных чисел.

0 голосов
/ 20 декабря 2018

Для чувствительных операций используйте crypto/rand вместо math/rand:

В пакете [crypto /] rand реализован криптографически безопасный генератор случайных чисел.

Обратите внимание, что вам не нужно (вы не можете) посеять crypto/rand.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...