本文目錄一覽:
- 1、java如何對一個字符串生成唯一的編碼
- 2、什麼是UUID,Java中怎麼產生UUID
- 3、使用java.util.UUID生成唯一標識,為什麼生成唯一標識的方法有些還需要參數?
- 4、關於請問如何用java生成一個指定長度的UUID
- 5、Java存儲函數中使用UUID
- 6、怎樣用java生成GUID與UUID
java如何對一個字符串生成唯一的編碼
JAVA類庫中可以使用UUID方法,來生成唯一的數字的一串數字編號,也就是訂單號。
UUID.randomUUID().toString().replaceAll(“-“, “”);通過上述方法就可以返回一串數字字符串。
什麼是UUID,Java中怎麼產生UUID
UUID是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平台會提供生成的API。按照開放軟件基金會(OSF)制定的標準計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字
UUID由以下幾部分的組合:
(1)當前日期和時間,UUID的第一個部分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相同。
(2)時鐘序列。
(3)全局唯一的IEEE機器識別號,如果有網卡,從網卡MAC地址獲得,沒有網卡以其他方式獲得。
使用java.util.UUID生成唯一標識,為什麼生成唯一標識的方法有些還需要參數?
//先看不加參數的源碼
public static UUID randomUUID() {
SecureRandom ng = Holder.numberGenerator;
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
randomBytes[6] = 0x0f; /* clear version */
randomBytes[6] |= 0x40; /* set to version 4 */
randomBytes[8] = 0x3f; /* clear variant */
randomBytes[8] |= 0x80; /* set to IETF variant */
return new UUID(randomBytes);//看到這裡沒,其實也是調用的帶參數的,只不過
//所帶參數的是給你隨機出來的
}
//再看帶參數的
public static UUID nameUUIDFromBytes(byte[] name) {
MessageDigest md;
try {
md = MessageDigest.getInstance(“MD5”);
} catch (NoSuchAlgorithmException nsae) {
throw new InternalError(“MD5 not supported”);
}
byte[] md5Bytes = md.digest(name);//這裡就是對給的byte[]參數進行md5運算之後再進行計算UUID
md5Bytes[6] = 0x0f; /* clear version */
md5Bytes[6] |= 0x30; /* set to version 3 */
md5Bytes[8] = 0x3f; /* clear variant */
md5Bytes[8] |= 0x80; /* set to IETF variant */
return new UUID(md5Bytes);
}
關於請問如何用java生成一個指定長度的UUID
// 如果使用的JDK1.5的話,那麼生成UUID變成了一件簡單的事,以為JDK實現了UUID:
java.util.UUID,直接調用即可.
UUID uuid = UUID.randomUUID();
String s = UUID.randomUUID().toString();//用來生成數據庫的主鍵id非常不錯。。
//UUID是由一個十六位的數字組成,表現出來的形式例如
//550E8400-E29B-11D4-A716-446655440000
Java存儲函數中使用UUID
UUID是1.5中新增的一個類,在java.util下,用它可以產生一個號稱全球唯一的ID。 import java.util.UUID; public class Test { public static void main(String[] args) { UUID uuid = UUID.randomUUID(); System.out.println (uuid); } }
怎樣用java生成GUID與UUID
import java.util.UUID; // 導入包
public class demo {
public static void main(String args[]) {
UUID uuid=UUID.randomUUID();
String strUUID=uuid.toString();
System.out.println(“strUUID=”+strUUID);
}
}
原創文章,作者:HXUK,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150108.html