使用uniqid生成唯一id

2021-07-03 19:12:03 字數 442 閱讀 7652

uniqid($prefix = '', $more_entropy = false);
echo uniqid(); //55a3c0380d5c4(基於系統時間)
其實就是一堆時間的十六進製制。前八位是秒的十六進製制,後5位是微妙的十六進製制。

開啟php原始碼包,在ext/standard/uniqid.c中會發現有這麼一段:

if (more_entropy)  else
好了,現在我們知道怎麼回事了,字首+hex(second)+hex(microsecond)+熵。

因為基於微秒,高併發還是有重複的可能性,通過字首和熵及md5來使其更具唯一性。

function

getuniqid

()

Python使用UUID生成唯一ID

原文 概述 uuid是128位的全域性唯一識別符號,通常由32位元組的字串表示。它可以保證時間和空間的唯一性,也稱為guid,全稱為 uuid universally unique identifier python 中叫 uuid guid globally unique identifier c...

php 生成唯一ID

function guid factor prefix suffix 生成因子 機器毫秒,使用者瀏覽器與作業系統資訊,使用者ip,隨機因子,及自定義 factor 因子 原理 自定義 factor 因子 例如可使用使用者 user id 模組標識 product,order.字首 prefix 可用...

php生成唯一id

網上查了下,有很多的方法 1 md5 time mt rand 1,1000000 這種方法有一定的概率會出現重複 2 php內建函式uniqid uniqid 函式基於以微秒計的當前時間,生成乙個唯一的 id.w3school參考手冊有一句話 由於基於系統時間,通過該函式生成的 id 不是最佳的。...