function 3rd_session($len) {
$fp = @fopen('/dev/urandom','rb');
$result = '';
if ($fp !== FALSE) {
$result .= @fread($fp, $len);
@fclose($fp);
} else {
trigger_error('Can not open /dev/urandom.');
}
// convert from binary to string
$result = base64_encode($result);
// remove none url chars
$result = strtr($result, '+/', '-_');
return substr($result, 0, $len);
}
本文介绍了一个PHP函数function3rd_session,用于生成指定长度的安全随机字符串。该函数利用/dev/urandom设备文件作为熵源,通过base64编码转换为字符串,并进一步替换其中不适合URL使用的字符。如果无法打开熵源,则会触发错误。
926





