加解密工具

生成公私钥

cn.hutool:hutool-all:5.7.16

KeyPair keyPair = SecureUtil.generateKeyPair("RSA",512);

productDTO.setSecretPrivate(Base64.encode(keyPair.getPrivate().getEncode()));
productDTO.setSecretPublic(Base64.encode(keyPair.getPublic().getEncode()));


//给一个产品分配一个paikey ,根据apikey到库中查询 公私钥  SecretKey  自定义对象 两个字段公私钥
SecretKey secretKey = secretKeyService.getSecretKey(apiKey);
//这个是body的值,
str = "sdfkljlxoasjojwopennalsknaslfjaslfalfjlskjvlkslflsalasjls";

JSONObject signContent = JSONUtil.parseObj(Base64.decodeStr(str));
String rsaSign = signContent.getStr("sign");
String content= Base64.decodeStr(signContent.getStr("content"));

String aesKey = SecureUtil.rsa(secretKey.getPrivateKey(),secretKey.getPublicKey()).decryptStr(rsaSign,KeyType.PrivateKey);

return SecureUtil.aes(aesKey.getBytes(StandardCharsets.UTF_8)).decryptStr(content);

公钥加密 私钥解密

appkey 生成规则:

SecureUtil.md5(productDTO.getProductCode()+productDTO.getName()+System.currentTimeMillis());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值