PHP openssl_random_pseudo_bytes OpenSSL 函数

  • 定义和用法

    openssl_random_pseudo_bytes - 生成一个伪随机字节串
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    openssl_random_pseudo_bytes( int $length [, bool &$crypto_strong ] )
    openssl_random_pseudo_bytes() 使生成一个伪随机字节串 string ,字节数由 length 参数指定。 通过 crypto_strong 参数可以表示在生成随机字节的过程中是否使用了强加密算法。返回值为FALSE的情况很少见,但已损坏或老化的有些系统上会出现。
  • 参数

    参数 必需的 描述
    length 所需字节串的长度,必须为正整数。PHP会试着将该参数转换为非空整数来使用它。
    crypto_strong 如果传递到该函数中,将会保存为一个 boolean 值来表明是否使用了“强加密”,如果被用于GPG和密码之类的将返回TRUE , 否则返回 FALSE
  • 返回值

    成功,返回生成的字节串 string , 或者在失败时返回 FALSE.
  • 示例

    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;
    }
    
    尝试一下
  • 相关页面

    random_bytes() -生成加密安全的伪随机字节
    bin2hex() - 函数把包含数据的二进制字符串转换为十六进制值
    crypt() - 单向字符串散列
    mt_rand() - 生成更好的随机数
    uniqid() - 生成一个唯一ID