Без чего лучший способ состоит в том, чтобы генерировать криптографически безопасную 32-байтовую соль в PHP, в зависимости от библиотек, редко включаемых в типичные установки PHP?
После некоторого поиска с помощью Google я обнаружил это mt_rand
не считается достаточно безопасным, но я не нашел предложение для замены. Одна статья предложила читать из /dev/random
но не только это не будет работать над окнами; это также очень медленно.
Я хочу разумный баланс между безопасностью и скоростью (т.е., не должно требоваться 20 секунд для генерации 512 байтов, как /dev/random
обычно делает),
Примечание:
mcrypt
был устаревшим в PHP 7.1. Перейти к актуальному ответу.
Возможно, вы захотите взглянуть на документацию (и комментарии) для mcrypt_create_iv()
.
Думаю, microtime ()
достаточно.
Как ни странно, но я до сих пор получаю отрицательные голоса за этот ответ.
Хотя единственное объяснение, которое я получаю, это то, что микровремя предсказуемо.
Для меня это звучит странно, поскольку соль всегда считалась открыто известной - так что в предсказаниях нет никакого смысла.