所以我一直在做一些挖掘,我一直在努力拼凑一个在PHP中生成有效的v4 UUID的函数.这是我能够来的最接近的.我在十六进制,十进制,二进制,PHP的按位运算符等方面的知识几乎不存在.此函数生成有效的v4 UUID直到一个区域.v4 UUID应采用以下形式:
xxxxxxxx-xxxx- 4 xxx- y xxx-xxxxxxxxxxxx
其中y 是8,9,A或B.这是函数失败的地方,因为它不符合它.
我希望在这个领域有比我更多知识的人可以帮助我解决这个问题并帮助我解决这个问题.
功能如下:
<?php
function gen_uuid() {
$uuid = array(
'time_low' => 0,
'time_mid' => 0,
'time_hi' => 0,
'clock_seq_hi' => 0,
'clock_seq_low' => 0,
'node' => array()
);
$uuid['time_low'] = mt_rand(0, 0xffff) + (mt_rand(0, 0xffff) << 16);
$uuid['time_mid'] = mt_rand(0, 0xffff);
$uuid['time_hi'] = (4 << 12) | (mt_rand(0, 0x1000));
$uuid['clock_seq_hi'] = (1 << 7) | (mt_rand(0, 128));
$uuid['clock_seq_low'] = mt_rand(0, 255);
for ($i = 0; $i < 6; …Run Code Online (Sandbox Code Playgroud) 生成一个无法轻易猜到的唯一密钥的最佳方法是什么?
我想为帐户激活和引用目的创建一个唯一的密钥,其中包括一个校验和,以帮助防止用户轻易猜测其他用户激活或引用密钥.
另外,在PHP中是否可以创建自己的会话密钥?如果是这样,你会如何使这个独特?
任何帮助是极大的赞赏.