From d3730e6dfdadc413abc9998b56e9bde8be332727 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 12 Jul 2024 16:11:12 +0800
Subject: [PATCH] 逻辑

---
 src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
index 7ffee3b..160d4ba 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
@@ -1,19 +1,41 @@
 package cc.mrbird.febs.common.utils;
 
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import lombok.extern.slf4j.Slf4j;
+import org.bouncycastle.jcajce.provider.digest.Keccak;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
+import org.web3j.crypto.Hash;
+import org.web3j.utils.Numeric;
 
 import javax.servlet.http.HttpServletRequest;
+import java.nio.charset.StandardCharsets;
 
 /**
- * @author wzy
+ * @author 
  * @date 2022-03-18
  **/
+@Slf4j
 public class LoginUserUtil {
 
     public static DappMemberEntity getAppUser() {
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
         return (DappMemberEntity) request.getSession().getAttribute("member");
     }
+
+    // address:0x971c09aa9735eb98459b17ec8b48932d24cbb931
+    // nonce:0x1d5f7444107bc02e980deda39d0fce21b06c9da4233a19cb11124cb5bfefc9ec
+    // sign:0x8f92cee24906122e26c3cc6cbd72f851cfe2c9574aa03bf3371e5d506fbec68b2ad22bbbc19b00ed21d26ab5a6871507831e2c902d8ed8c33301addc2b57a7731b
+    public static String getLoginKey(String address, String nonce, String sign) {
+        StringBuilder sb = new StringBuilder();
+        StringBuilder append = sb.append(address).append(":").append(nonce).append(":").append(sign);
+
+        return sha3(append.toString());
+    }
+
+    public static String sha3(String str) {
+        Keccak.DigestKeccak kecc = new Keccak.Digest256();
+        kecc.update(str.getBytes(StandardCharsets.UTF_8));
+        return Numeric.toHexString(kecc.digest());
+    }
 }

--
Gitblit v1.9.1