Генерация соли в PHP

Без чего лучший способ состоит в том, чтобы генерировать криптографически безопасную 32-байтовую соль в PHP, в зависимости от библиотек, редко включаемых в типичные установки PHP?

После некоторого поиска с помощью Google я обнаружил это mt_rand не считается достаточно безопасным, но я не нашел предложение для замены. Одна статья предложила читать из /dev/random но не только это не будет работать над окнами; это также очень медленно.

Я хочу разумный баланс между безопасностью и скоростью (т.е., не должно требоваться 20 секунд для генерации 512 байтов, как /dev/random обычно делает),

12
задан qster 25 March 2010 в 07:33
поделиться

3 ответа

Примечание: mcrypt был устаревшим в PHP 7.1. Перейти к актуальному ответу.

Возможно, вы захотите взглянуть на документацию (и комментарии) для mcrypt_create_iv().

7
ответ дан 2 December 2019 в 18:18
поделиться

Думаю, microtime () достаточно.

Как ни странно, но я до сих пор получаю отрицательные голоса за этот ответ.

Хотя единственное объяснение, которое я получаю, это то, что микровремя предсказуемо.
Для меня это звучит странно, поскольку соль всегда считалась открыто известной - так что в предсказаниях нет никакого смысла.

-8
ответ дан 2 December 2019 в 18:18
поделиться

uniqid() должен подойти для этой цели.

-3
ответ дан 2 December 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: