唯一值生成常用算法

一、生成访问 key

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

可生成  :

 

二、根据 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;
}

猜你喜欢

转载自blog.csdn.net/JineD/article/details/120995536
今日推荐