openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7)

openssl_random_pseudo_bytes����һ��α����ֽڴ�

˵��

openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] ) : string

����һ��α����ֽڴ� string ���ֽ����� length ����ָ����

ͨ�� crypto_strong �������Ա�ʾ����������ֽڵĹ������Ƿ�ʹ����ǿ�����㷨������ֵΪFALSE��������ټ��������𻵻��ϻ�����Щϵͳ�ϻ���֡�

����

length

�����ֽڴ��ij��ȣ�����Ϊ��������PHP�����Ž��ò���ת��Ϊ�ǿ�������ʹ������

crypto_strong

������ݵ��ú����У����ᱣ��Ϊһ�� boolean ֵ�������Ƿ�ʹ����"ǿ����"�����������GPG������֮��Ľ�����TRUE , ���򷵻� FALSE

����ֵ

�ɹ����������ɵ��ֽڴ� string �� ������ʧ��ʱ���� FALSE.

����

Example #1 openssl_random_pseudo_bytes() ������

<?php
for ($i = -1$i <= 4$i++) {
    
$bytes openssl_random_pseudo_bytes($i$cstrong);
    
$hex   bin2hex($bytes);

    echo 
"Lengths: Bytes: $i and Hex: " strlen($hex) . PHP_EOL;
    
var_dump($hex);
    
var_dump($cstrong);
    echo 
PHP_EOL;
}
?>

�������̵���������ڣ�

Lengths: Bytes: -1 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 0 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 1 and Hex: 2
string(2) "42"
bool(true)

Lengths: Bytes: 2 and Hex: 4
string(4) "dc6e"
bool(true)

Lengths: Bytes: 3 and Hex: 6
string(6) "288591"
bool(true)

Lengths: Bytes: 4 and Hex: 8
string(8) "ab86d144"
bool(true)

�μ�

  • random_bytes() - Generates cryptographically secure pseudo-random bytes
  • bin2hex() - �����Ѱ������ݵĶ������ַ���ת��Ϊʮ������ֵ
  • crypt() - �����ַ���ɢ��
  • mt_rand() - ���ɸ��õ������
  • uniqid() - ����һ��ΨһID