淺談java獲取UUID與UUID的校驗(yàn)
背景:
我們在開發(fā)的過程中可能需要隨機(jī)生成一個ID,例如數(shù)據(jù)庫中的某個ID有時候也要對其進(jìn)行校驗(yàn)。
UUID:
UUID,是Universally Unique Identifier的縮寫,UUID出現(xiàn)的目的,是為了讓分布式系統(tǒng)可以不借助中心節(jié)點(diǎn),就可以生成UUID來標(biāo)識一些唯一的信息。
代碼:
import java.util.UUID;
public class UUIDTest {
public static void main(String[] args) {
String uuid1 = "e65deb4c-a110-49c8-a4ef-6e69447968d6";
String uuid2 = "ca4a8a92-d4ed-4fc4-8a4f-345c587fbdcb";
String uuid3 = "e1f15f1d-6edb-4f70-8a05465se273eaf95a";
System.out.println("check > " + uuid1 + " > " + isValidUUID(uuid1));
System.out.println("check > " + uuid2 + " > " + isValidUUID(uuid2));
System.out.println("check > " + uuid3 + " > " + isValidUUID(uuid3));
System.out.println("build a uuid> " + getRandomUUID(null));
System.out.println("build a uuid> " + getRandomUUID(null));
System.out.println("build a uuid> " + getRandomUUID("kangyucheng"));
System.out.println("build a uuid> " + getRandomUUID("kangyucheng"));
}
public static boolean isValidUUID(String uuid) {
// UUID校驗(yàn)
if (uuid == null) {
System.out.println("uuid is null");
}
String regex = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
if (uuid.matches(regex)) {
return true;
}
return false;
}
public static UUID getRandomUUID(String str) {
// 產(chǎn)生UUID
if (str == null) {
return UUID.randomUUID();
} else {
return UUID.nameUUIDFromBytes(str.getBytes());
}
}
}
測試結(jié)果:
check > e65deb4c-a110-49c8-a4ef-6e69447968d6 > true
check > ca4a8a92-d4ed-4fc4-8a4f-345c587fbdcb > true
check > e1f15f1d-6edb-4f70-8a05465se273eaf95a > false
build a uuid>93ce6775-bc89-4849-8ae9-fb305c909700
build a uuid>7a61f2e0-903b-4904-b2bd-a075b19adb8c
build a uuid>8b68aa00-6a79-3cbb-996f-780f464f3aae
build a uuid>8b68aa00-6a79-3cbb-996f-780f464f3aae
以上所述是小編給大家介紹的java獲取UUID與UUID的校驗(yàn)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java計算任意位水仙花數(shù)示例(回文數(shù))
這篇文章主要介紹了java計算任意位水仙花數(shù)示例(回文數(shù)),需要的朋友可以參考下2014-05-05
java8 stream多字段排序的實(shí)現(xiàn)
這篇文章主要介紹了java8 stream多字段排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
關(guān)于SpringSecurity?Context?中獲取和更改當(dāng)前用戶信息的問題
SpringSecurityContext在異步線程中無法獲取用戶信息,因其與請求線程綁定;此外,用戶信息更新后跳轉(zhuǎn)頁面時,身份會被降級為匿名,導(dǎo)致信息無法及時同步,本文給大家介紹SpringSecurity?Context?中獲取和更改當(dāng)前用戶信息的問題,感興趣的朋友一起看看吧2024-09-09
Maven配置文件settings.xml的實(shí)現(xiàn)
Maven是一個用于構(gòu)建和管理Java項(xiàng)目的強(qiáng)大工具,它依賴于設(shè)置文件來配置和管理其行為,其中最重要的之一便是settings.xml文件,本文主要介紹了Maven配置文件settings.xml的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-01-01
js判斷是否是移動設(shè)備登陸網(wǎng)頁的簡單方法
這篇文章主要介紹了js判斷是否是移動設(shè)備登陸網(wǎng)頁的簡單方法,需要的朋友可以參考下2014-02-02

