首页
友情链接
Search
1
centos 7 部署ollama 本地大模型并使用open-webui 可视化
2,038 阅读
2
利用calibre-web搭建私人书库
1,141 阅读
3
webStrom 通过electron创建第一个桌面程序
911 阅读
4
AdGuardHome 个人DNS服务器搭建记录
763 阅读
5
gitee 发了个人生第一个开源项目
700 阅读
默认分类
kafka
JavaScript
linux
java
vue
自建服务
spring
登录
Search
标签搜索
kafka
vue
docker
electron
JavaScript
spring
quartz
图床
Nginx
spring boot
宝塔
aria2
webUI
docker-compose
Python
小程序
SUI Mobile
k8s
html
PotPlayer
Abdulla
累计撰写
43
篇文章
累计收到
39
条评论
首页
栏目
默认分类
kafka
JavaScript
linux
java
vue
自建服务
spring
页面
友情链接
搜索到
1
篇与
的结果
2023-12-07
充电桩互联互通 AES 参数加解密(Hutool实现)
PileSignUtils 充电桩互联互通 AES 参数加解密import cn.hutool.crypto.digest.HMac; import cn.hutool.crypto.digest.HmacAlgorithm; import cn.hutool.crypto.symmetric.AES; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; public class PileSignUtils { private static Logger logger = LoggerFactory.getLogger(PileSignUtils.class); /** * aes 加密 * @param params 待加密参数 * @param dataSecret 密钥 * @param dataSecretIV 密钥向量 * @return 解密结果 */ public static String signParams(String params,String dataSecret,String dataSecretIV){ AES aes = new AES("CBC","PKCS5Padding",dataSecret.getBytes(),dataSecretIV.getBytes()); return aes.encryptBase64(params); } /** * aes 加密 * @param params 待加密参数 * @param dataSecret 密钥 * @param dataSecretIV 密钥向量 * @return 解密结果 */ public static String decryptParams(String params,String dataSecret,String dataSecretIV){ AES aes = new AES("CBC","PKCS5Padding",dataSecret.getBytes(),dataSecretIV.getBytes()); return aes.decryptStr(params); } public static String getSign(String data,String signSecret,String platformId){ long timeStamp = new Date().getTime(); int nextSequence = SequenceGenerator.getNextSequence(); int len = 64-signSecret.length(); if (signSecret.length()<64){ for (int i = 0; i < len; i++) { signSecret = signSecret + "0"; } } logger.info(signSecret); byte[] key = signSecret.getBytes(); HMac mac = new HMac(HmacAlgorithm.HmacMD5, key); String str = mac.digestHex(data); return str; }
2023年12月07日
205 阅读
7 评论
0 点赞