天天看點

随機UUID的生成

UUID介紹

UUID是通用唯一識别碼(Universally Unique Identifier)的縮寫,是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。

UUID的組成

UUID是由一組32位數的16進制數字所構成,以連字号分為五段。UUID由以下幾部分組合:

1.目前日期和時間,UUID的第一個部分與時間有關,如果在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相同。

2.時鐘序列.

3.全局唯一的IEEE機器識别号,如果有網卡,從網卡MAC位址獲得,沒有網卡以其他方式獲得。【以上參考百度整理】

UUID生成

Java生成UUID

import java.util.UUID;

public class UUIDTest {

    public static void main(String[] args) {

        // 随機生成UUID
        UUID uuid = UUID.randomUUID();
        System.out.println(uuid);

        // 32位UUID,去掉36位uuid中的‘-’
        String uuid32 = uuid.toString().replace("-", "");
        System.out.println(uuid32);
    }

}
           

MySQL語句生成UUID

例如,mysql某表的id存儲為char(32),現在用mysql語句生成36位uuid:

生成32位uuid: