唯一值生成常用算法

一、生成访问 key

md5(md5(uniqid() . $userId . uniqid()));

可生成  :

唯一值生成常用算法_第1张图片 

二、根据 guid 算法生成唯一值 

public function genGuid()
{
    $guid = str_replace('-', '', Uuid\Uuid::uuid1()->toString());
    $gmpnumber = gmp_init('0x' . $guid);
    $decimal = gmp_strval($gmpnumber, 10);
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789';
    $len = strval(strlen($alphabet));
    $res = '';
    while($decimal > 0){
        $tmp = bcmod($decimal, ''. $len . '');
        $res .= $alphabet[$tmp];
        $decimal = bcdiv(bcsub($decimal, $tmp), $len);
    }
    return $res;
}

你可能感兴趣的:(#,算法,/,数据结构,算法)