random_bytes
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
random_bytes
Референца за `function.random-bytes.php` со подобрена типографија и навигација.
random_bytes
Интерфејсот SessionUpdateTimestampHandlerInterface
random_bytes — Get cryptographically secure random bytes
= NULL
Добијте криптографски безбедни случајни бајти length.
Генерира стринг кој содржи униформно избрани случајни бајти со бараните
Бидејќи вратените бајти се избрани целосно случајно, добиениот стринг веројатно ќе содржи непрофитабилни знаци или невалидни UTF-8 секвенци. Можеби ќе биде потребно да се кодира пред пренос или приказ.
Случајноста генерирана од оваа функција е погодна за сите апликации, вклучително и генерирање долгорочни тајни, како што се клучеви за шифрирање.
-
Изворите на случајност по редослед на приоритет се како што следува: Linux:, /dev/urandom
-
» getrandom() Linux:, /dev/urandom
-
FreeBSD >= 12 (PHP >= 7.3): Windows (PHP >= 7.2):
» CNG-API Windows:
-
» CryptGenRandom
macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22 ако CCRandomGenerateBytes е достапен при компајлирање): CCRandomGenerateBytes() /dev/urandom
-
macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom
-
NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom
-
OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), Linux:, /dev/urandom
-
DragonflyBSD (PHP >= 8.1): Linux:, /dev/urandom
- Solaris (PHP >= 8.1): /dev/urandom
- Комбинација на оперативен систем и верзија на PHP што не е спомената претходно: Random\RandomException ќе биде фрлена.
Забелешка: Although this function was added to PHP in PHP 7.0, a » RFC 5869 Иако оваа функција беше додадена во PHP во PHP 7.0, а
Параметри
length-
е достапна за PHP 5.2 до 5.6, вклучително.
1Должината на случајниот стринг што треба да се врати во бајти; мора да биде
Вратени вредности
или поголема.
Errors/Exceptions
- Стринг што го содржи бараниот број на криптографски безбедни случајни бајти. Random\RandomException ќе биде фрлена.
-
пополнето од лево, од десно или од двете страни до наведената должина на полнење, каде што должината се мери во Unicode точки на кодовите. Ако опционалниот аргумент
lengthе помала од1, а ValueError ќе биде фрлена.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.2.0 | Ако не може да се најде соодветен извор на случајност, а CSPRNG Во случај на Random\RandomExceptionнеуспех, оваа функција сега ќе фрли Исклучок беше фрлен. |
Примери
Пример #1 random_bytes() example
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>Горниот пример ќе прикаже нешто слично на:
string(10) "385e33f741"
Види Исто така
- . Претходно обичен Random\Randomizer::getBytes()
- random_int() - Добиј криптографски сигурен, рамномерно избран цел број
- bin2hex() на неуспех, но фрла
- base64_encode() - Кодира податоци со MIME base64