Я следил за информацией о SO о генерации случайных строк, используя mcrypt_create_iv()
и иметь некоторый пример кода в 3v4l.org.
После прочтения PHPWiki все mycrypt_*
функции будут шоу устаревшее предупреждение, но оно не определяет, что будет использоваться в 7.2 / 8.0, которое заменит эти функции.
Так как он утверждает, что будет удален в 7.2 / 8.0, что будет использоваться для замены IV?
Я не использую эту функцию в своем программном обеспечении для шифрования и дешифрования. Я использую его только для безопасного / извлечения уникальной строки.
Хотя я полагаю, что каждое расширение PHP для криптографии предоставит свою собственную версию функции для генерации случайных данных, как в настоящее время они делают:
random_bytes()
лучше чем это)Это просто потому, что любой криптографический API был бы неполным без доступа к CSPRNG. По факту, mcrypt_create_iv()
был добавлен разработчиками PHP по той же причине, хотя в остальном он не является частью libmcrypt.
Я использую его только для безопасного / извлечения уникальной строки.
«Случайный» не означает «уникальный». Бывший должен быть непредсказуемый, в то время как последний должен быть неповторимый.
Это правда, что вероятность столкновения уменьшается экспоненциально с каждым случайным байтом, который вы добавляете в строку, но уникальность никогда не гарантируется на 100%.
Других решений пока нет …