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