1
A
回答
6
產生具有一些保證是唯一的,而不通過中央「ID提供商」(這需要網絡連接,並且可以是硬組織)依賴於任何一種協調的ID的方法。基本上有兩種方法,對於這一點,沒有實際提供絕對的保證:
- 使用本地計算機(通常它的MAC地址)一個合理的唯一的ID,並添加一個本地唯一ID(如時間戳+進程號+自增計數器)。
- 使用一個好的隨機數發生器和良好的種子來生成ID並使其足夠長,以至於碰撞不太可能發生。
0
我搜查了我的本地圖書館和檔案,但找不到具體算法的參考。但通常這種類型的算法用於生成只能出現一次的128位GUID值。使用標準的隨機數生成算法不會產生真正的隨機性。因此,在這種情況下,他們已經採取了幾個值,包括:
- 的計算機網絡地址
- 計算機時鐘時間值
- 值以適應夏令以及手動更改系統時鐘由用戶。
通過利用這樣的功能,程序員可以保證的GUID的值是唯一的,而不必跟蹤和生成所有用戶GUID值集中服務器。
你可以閱讀更多關於隨機數生成here
相關問題
- 1. 爲散列生成唯一分數的最佳方法是什麼
- 2. 分散算法
- 3. 什麼是shortid唯一性的保證?
- 4. CART算法使用的離散化方法是什麼?
- 5. AES算法S盒的唯一性
- 6. 什麼是算法
- 7. 「屬性散列」,那是什麼?
- 8. 鬆散XAML的侷限性是什麼?
- 9. CUDA:什麼是分散寫入?
- 10. 什麼是C#支持的最安全密碼散列算法?
- 11. 這是什麼算法?
- 12. 什麼是cooks-kim算法
- 13. 什麼是McNaughton-Yamada算法?
- 14. 什麼是s2k算法?
- 15. 什麼是單遍算法
- 16. NSSet是否使用散列來定義唯一性?
- 17. 爲什麼django的create_user方法不能驗證唯一性?但
- 18. 什麼是MAC地址?什麼是PC的唯一ID?
- 19. 爲什麼弧一致性算法O(cd^3)的複雜性?
- 20. pm2-docker的「唯一」參數是什麼?
- 21. 散列算法
- 22. 離散相似性度量算法
- 23. 什麼是散列函數?
- 24. 什麼是離散動畫?
- 25. 什麼是密碼/散列?
- 26. 「散貨」是什麼意思?
- 27. 如果散列值是唯一的,但哈希表中的散列%大小相同,會發生什麼情況?
- 28. 索引唯一文本字段的最佳做法是什麼?
- 29. C#:什麼是生成唯一文件名的最快方法?
- 30. 爲每個用戶分配一系列唯一位的算法?
+1,我只想補充,需要這種東西,所以每一個開發商可能會產生局部爲他的類和接口ID和他得到的值永遠不會發生衝突與其他開發人員創造的價值。 – sharptooth 2010-06-09 13:58:45