From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-file/jnpf-file-storage/src/main/java/jnpf/fileStorage/dms/UuidV7Generator.java | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/jnpf-file/jnpf-file-storage/src/main/java/jnpf/fileStorage/dms/UuidV7Generator.java b/jnpf-file/jnpf-file-storage/src/main/java/jnpf/fileStorage/dms/UuidV7Generator.java
new file mode 100644
index 0000000..211bacc
--- /dev/null
+++ b/jnpf-file/jnpf-file-storage/src/main/java/jnpf/fileStorage/dms/UuidV7Generator.java
@@ -0,0 +1,21 @@
+package jnpf.fileStorage.dms;
+
+import java.security.SecureRandom;
+import java.util.UUID;
+
+public final class UuidV7Generator {
+ private static final SecureRandom RANDOM = new SecureRandom();
+
+ private UuidV7Generator() {
+ }
+
+ public static UUID generate() {
+ long timestamp = System.currentTimeMillis() & 0x0000FFFFFFFFFFFFL;
+ long randomA = RANDOM.nextInt(1 << 12);
+ long mostSignificantBits = (timestamp << 16) | 0x7000L | randomA;
+ long leastSignificantBits = RANDOM.nextLong();
+ leastSignificantBits = (leastSignificantBits & 0x3FFFFFFFFFFFFFFFL)
+ | 0x8000000000000000L;
+ return new UUID(mostSignificantBits, leastSignificantBits);
+ }
+}
--
Gitblit v1.8.0