From 5acc490fa6f77a9ed7b5976ee6a2e22b070df5bf Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 09 七月 2024 09:49:36 +0800
Subject: [PATCH] 角色管理联调修改、部门管理接口等代码上传

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/Func.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/Func.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/Func.java
index 86007ae..eefb170 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/Func.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/Func.java
@@ -40,6 +40,60 @@
 public class Func {
 
     /**
+     * 閫氬父鐢ㄤ簬灏嗕富閿畂id杞崲鎴�8浣嶅敮涓�hash鐮佸��
+     * @return
+     */
+    public static String oidEnHash(String oid){
+        UUID originalUUID = UUID.fromString(oid);
+        // 浣跨敤Base64缂栫爜灏嗗師濮婾UID杞崲涓鸿緝鐭殑瀛楃涓�
+        String base64String = Base64.getUrlEncoder().withoutPadding().encodeToString(new byte[] {
+                (byte)(originalUUID.getMostSignificantBits()>>>56),
+                (byte)(originalUUID.getMostSignificantBits()>>>48),
+                (byte)(originalUUID.getMostSignificantBits()>>>40),
+                (byte)(originalUUID.getMostSignificantBits()>>>32),
+                (byte)(originalUUID.getMostSignificantBits()>>>24),
+                (byte)(originalUUID.getMostSignificantBits()>>>16),
+                (byte)(originalUUID.getMostSignificantBits()>>>8),
+                (byte)(originalUUID.getMostSignificantBits()),
+                (byte)(originalUUID.getLeastSignificantBits()>>>56),
+                (byte)(originalUUID.getLeastSignificantBits()>>>48),
+                (byte)(originalUUID.getLeastSignificantBits()>>>40),
+                (byte)(originalUUID.getLeastSignificantBits()>>>32),
+                (byte)(originalUUID.getLeastSignificantBits()>>>24),
+                (byte)(originalUUID.getLeastSignificantBits()>>>16),
+                (byte)(originalUUID.getLeastSignificantBits()>>>8),
+                (byte)(originalUUID.getLeastSignificantBits())});
+        return base64String;
+    }
+
+    /**
+     * 閫氬父鐢ㄤ簬灏嗕富閿畂id杞崲鎴愮殑8浣嶅敮涓�hash鐮侊紝鍙嶈浆涓簅id
+     * @param base64String
+     * @return
+     */
+    public static String oidDeHash(String base64String){
+        // 鍙嶆帹鍥炲師濮嬬殑UUID瀛楃涓�
+        byte[] bytes = Base64.getUrlDecoder().decode(base64String);
+        UUID reconstructedUUID = new UUID(((long)(bytes[0] & 0xff) << 56)
+                | ((long)(bytes[1] & 0xff) << 48)
+                | ((long)(bytes[2] & 0xff) << 40)
+                | ((long)(bytes[3] & 0xff) << 32)
+                | ((long)(bytes[4] & 0xff) << 24)
+                | ((long)(bytes[5] & 0xff) << 16)
+                | ((long)(bytes[6] & 0xff) << 8)
+                | (bytes[7] & 0xff),
+                ((long)(bytes[8] & 0xff) << 56)
+                        | ((long)(bytes[9] & 0xff) << 48)
+                        | ((long)(bytes[10] & 0xff) << 40)
+                        | ((long)(bytes[11] & 0xff) << 32)
+                        | ((long)(bytes[12] & 0xff) << 24)
+                        | ((long)(bytes[13] & 0xff) << 16)
+                        | ((long)(bytes[14] & 0xff) << 8)
+                        | (bytes[15] & 0xff));
+        return reconstructedUUID.toString().toUpperCase(Locale.ROOT);
+    }
+
+    /**
      * 鏂█锛屽繀椤讳笉鑳戒负 null
      * <blockquote><pre>
      * public Foo(Bar bar) {

--
Gitblit v1.9.3