开发微信小程序的需要,需要在后台生成16位的随机数,要求使用linux系统的随机数算法,读取/dev/urandom文件。
那么具体到php中,该如何操作?
另外,如何给得到的随机数设置一个有效期?
PHP中文网2017-04-11 09:06:19
$pr_bits = '';
// Unix/Linux platform?
$fp = @fopen('/dev/urandom','rb');
if ($fp !== FALSE) {
$pr_bits .= @fread($fp, 16);
@fclose($fp);
}
echo $pr_bits;
然后,随机数没有有效期,你需要将时间一起传递过去。
怪我咯2017-04-11 09:06:19
如果是整个系统共用的就:直接用把时间进行md5编码,取其中16位,存到一个文件中。有效期直接把文件生成时间和当前时间做比较。
如果是针对用户不同:就把用户id+时间进行md5编码,取其中16位,和时间一起存到session。