<!--web3j-->
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>5.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.web3j/crypto -->
<dependency>
<groupId>org.web3j</groupId>
<artifactId>crypto</artifactId>
<version>5.0.0</version>
</dependency>
/**
* 用户使用钱包地址登录
*
* @param userVO 用户登录vo
* @return {@link UserVO}
*/
@PostMapping("/login")
public UserVO doLogin(@RequestBody UserVO userVO) {
log.info("login param: address: {}, signature: {}, msg: {}", userVO.getAddress(), userVO.getSignature(), userVO.getMsg());
//参数签名验证
if (!NumberUtil.isHexNumberRex40(userVO.getAddress())) {
log.info("login 地址格式非法!");
throw new BusinessException(ResponseCode.ILLEGAL_ADDRESS_FORMAT);
}
if (!Web3SignatureVerification.verifySignature(userVO.getAddress(), userVO.getSignature(), userVO.getMsg())) {
log.info("login 签名校验失败!");
throw new BusinessException(ResponseCode.SIGNATURE_VERIFICATION_FAILED);
}
//验证后的逻辑处理...
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有