Новинки в PHP7. Часть 6.
![Новинки в PHP7. Часть 6.](/images/articles/php7-cryptography.jpeg)
Всем привет! В этой статье мы рассмотрим новые функции для генерации случайных чисел в PHP7 и их преимущества.
Если вы имели дело с шифрованием данных на старой версии PHP5, то должны знать, что там была проблема генерации криптографически стойких случайных чисел, т.е. чисел, обладающих рядом свойств необходимых в криптографии. Эти числа используются для генерации ключей, средств защиты и т.д.
В PHP7 это исправили и добавили две новые функции для генерации случайных чисел.
- random_bytes – генерирует случайные байты
- random_int – генерирует случайные целые числа
Особенностью этих функций является то, что на различных операционных системах они будут использовать разные методы генерации случайных чисел.
- Windows – CryptGenRandom
- Linux – PHP getrandom(2)
- Others – /dev/urandom
В случае ошибки или отсутствия данных функций, PHP выбросит исключение.
Использовать новые функции достаточно просто:
bin2hex(random_bytes(10));
В примере выше мы получаем 10 случайных байт, а затем преобразовываем их в шестнадцатиричный формат, чтобы его было удобно использовать, например, в текстовых строках.
random_int(1, 10);
Функция random_int принимает минимальное и максимальное число и формирует в указанном диапазоне случайное.
Итак, на этом все. Спасибо за внимание!
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.