Java模塊系列:UUID

1 Usage

1.0 一句話生成

String uuid = UUID.randomUUID().toString();

1.2 完整樣例

package basic.datatype.dataprocess;

import java.util.UUID;

public  class UUIDProcessUtil {
    public static String UUIDGen(){
        String uuid = UUID.randomUUID().toString();
        return uuid;
    }
    public static void main(String[] args){
        String uuid = UUIDGen();
        System.out.println("UUID:"+uuid);
        securityTest();
    }
    
}

2 UUID基礎

2.1 簡介

統一唯一識別碼(Universally Unique Identifier,UUID),由一組32位數組成,每位數爲16進制數組,共有163216^{32}個UUID,約爲3.4×103810^{38},相當於每納秒生成1萬億個UUD,需要100億年纔會用完UUID,因此UUID重複概率幾乎爲零,可忽略。

2.2 構成

  • uuid
    160a70c9-b04f-4894-b7ca-c6cab8674054
    UUID由5部分組成,每部分數字個數格式爲:8-4-4-4-12,如上所示。
  • 每部分含義
序號 位置 字節數 描述
1 8 4 整數,低位32位時間
2 4 2 整數,中間位16位時間
3 4 2 最高有效位中的4位版本,後面是12位的時間
4 4 2 最高有效位爲1-3位變體,後跟13-15位時鐘序列
5 12 6 48位節點ID

2.3 版本

序號 版本 描述
1 v1 根據時間和節點ID(通常爲MAC地址)生成
2 v2 根據標識符(通常是組或用戶ID)、時間和節點ID生成
3 v3 確定性UUID通過散列(hash)命名空間(namespace)標識符和名稱生成
4 v4 隨機性或僞隨機性生成
5 v5 確定性UUID通過散列(hash)命名空間(namespace)標識符和名稱生成

【參考文獻】
[1]https://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8%E5%94%AF%E4%B8%80%E8%AF%86%E5%88%AB%E7%A0%81

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章