如何生成新的 GUID?

2022-08-30 10:04:47

我正在研究一个Web服务,它需要一个新的传递作为对服务中方法的引用。GUID()

我不熟悉 或 ,但需要类似的东西(所以创建一个新对象,根据我的理解返回一个)。C#GUID() objectPHPempty/blank GUID

有什么想法吗?


答案 1

您可以尝试以下操作:

function GUID()
{
    if (function_exists('com_create_guid') === true)
    {
        return trim(com_create_guid(), '{}');
    }

    return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
}

来源 - com_create_guid


答案 2

作为上述选项的替代方法:

$guid = bin2hex(openssl_random_pseudo_bytes(16));

它给出了一个字符串,如412ab7489d8b332b17a2ae127058f4eb


推荐