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
|
* @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) {
|
log.info("address:{}, nonce:{}, sign:{}", address, nonce, sign);
|
StringBuilder sb = new StringBuilder();
|
StringBuilder append = sb.append(address).append(":").append(nonce).append(":").append(sign);
|
|
Keccak.DigestKeccak kecc = new Keccak.Digest256();
|
kecc.update(append.toString().getBytes(StandardCharsets.UTF_8));
|
return Numeric.toHexString(kecc.digest());
|
}
|
}
|