From 8cde7ee1143bae70eb68d2b75f572d5b4dbadf98 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 12 十月 2023 17:47:00 +0800
Subject: [PATCH] zjh 2023/10/12--1

---
 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