random_bytes

(PHP 7, PHP 8)

random_bytes — 암호학적으로 안전한 의사 난수 바이트 생성


설명

random_bytes(int $length): string

salts, 키 또는 초기화 벡터를 생성할 때와 같이 암호화 사용에 적합한 임의 길이의 암호화 임의 바이트 문자열을 생성합니다.

이 함수에 사용된 임의성의 소스는 다음과 같습니다.

  • Windows에서는 » CryptGenRandom()이 항상 사용됩니다. PHP 7.2.0부터 » CNG-API가 항상 대신 사용됩니다.
  • Linux에서는 가능한 경우 » getrandom(2) syscall이 사용됩니다.
  • 다른 플랫폼에서는 /dev/urandom이 사용됩니다.
  • 앞서 언급한 소스를 사용할 수 없으면 예외가 발생합니다.

참고: 이 함수는 PHP 7.0에서 PHP에 추가되었지만 » 사용자 영역 구현은 PHP 5.2~5.6(포함)에서 사용할 수 있습니다.


매개변수

length
바이트 단위로 반환되어야 하는 임의 문자열의 길이입니다.

반환 값

암호화된 보안 난수 바이트의 요청된 수를 포함하는 문자열을 반환합니다.


오류/예외

  • 임의성의 적절한 소스를 찾을 수 없으면 예외가 발생합니다.
  • 잘못된 매개변수가 제공되면 TypeError가 발생합니다.
  • 유효하지 않은 바이트 length가 지정되면 오류가 발생합니다.

Examples

예제 #1 random_bytes() 예제

                  
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

string(10) "385e33f741"
                

기타