From ed277ece348dae9bc6e36c0fc9f69ae8a3825912 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期四, 18 四月 2024 17:57:55 +0800
Subject: [PATCH] 填鸭表单

---
 ltkj-common/src/main/java/com/ltkj/common/utils/SecurityUtils.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/SecurityUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/SecurityUtils.java
index 6770a39..d1c34ea 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/utils/SecurityUtils.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/utils/SecurityUtils.java
@@ -1,11 +1,17 @@
 package com.ltkj.common.utils;
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
+import cn.hutool.crypto.symmetric.SymmetricCrypto;
 import com.ltkj.common.constant.HttpStatus;
 import com.ltkj.common.exception.ServiceException;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import com.ltkj.common.core.domain.model.LoginUser;
+
+import java.util.Date;
 
 /**
  * 瀹夊叏鏈嶅姟宸ュ叿绫�
@@ -96,4 +102,28 @@
     public static boolean isAdmin(Long userId) {
         return userId != null && 1L == userId;
     }
+
+    public static String getMallMerchantSecretKey(String secret,String certificateNumber, String number, Date date) {
+        String secrets = SecureUtil.md5(secret);
+        String certificateNumbers = SecureUtil.md5(certificateNumber);
+        String taxNumber = SecureUtil.md5(number);
+        String expirationTime = SecureUtil.md5(DateUtil.format(DateUtil.endOfDay(date),"yyyy-MM-dd HH:mm:ss"));
+        //闅忔満鐢熸垚瀵嗛挜
+        SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, secret.getBytes());
+        return aes.encryptHex(secrets+certificateNumbers+taxNumber+expirationTime);
+    }
+
+    public static boolean matchesMallMerchantSecretKey(String secret,String certificateNumber, String number, Date date,String ordSecretKey) {
+        String secrets = SecureUtil.md5(secret);
+        String certificateNumbers = SecureUtil.md5(certificateNumber);
+        String taxNumber = SecureUtil.md5(number);
+        String expirationTime = SecureUtil.md5(DateUtil.format(DateUtil.endOfDay(date),"yyyy-MM-dd HH:mm:ss"));
+        SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, secret.getBytes());
+        String encryptHex = aes.encryptHex(secrets+certificateNumbers+taxNumber+expirationTime);
+
+        if(encryptHex.equals(ordSecretKey)){
+            return true;
+        }
+        return false;
+    }
 }

--
Gitblit v1.8.0