openssl_random_pseudo_bytes php 函数

openssl_random_pseudo_bytes php function

输出openssl_random_pseudo_bytesphp函数无法读取字符。

我用这个函数生成一个唯一的字符串。

<?php
header('content-type:text/plain ; charset=utf-8');
$uniqid=openssl_random_pseudo_bytes(30 );
echo $uniqid ;
?>

输出如下:

#~�p�x�6�;g�ic�-z"���:i�

PHP

里面有类似uniqid的函数

你可以试试这个:

<?php
printf("uniqid(): %s\r\n", uniqid());echo '<br>';
printf("uniqid('php_'): %s\r\n", uniqid('php_'));echo '<br>';
printf("uniqid('', true): %s\r\n", uniqid('', true));echo '<br>';
?>

参考:http://php.net/manual/en/function.uniqid.php

我必须使用 bin2hex() 函数。

<?php
$uniqid=bin2hex(openssl_random_pseudo_bytes(30 ));
echo $uniqid ;
?>

另外这个函数肯定不会生成 uniqid 。