分享我使用的用户解密微信支付APIV3的通知notify,根据微信支付官方的介绍:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_5.shtml是使用的AEAD_AES_256_GCM加密方式,使用key、nonce和associated_data,对数据密文resource.ciphertext进行解密,得到JSON形式的资源对象。不过看了下,当前页面并没有相关的例子,下面贴出我使用的工具算法。 /** * AEAD_AES_256_GCM 解密 …

2022-02-26 0条评论 1293点热度 0人点赞 admin 阅读全文

分享一下Java下使用SHA256withRSA签名的代码,例如微信支付APIv3中的签名,就是使用的SHA256 with RSA签名,并对结果进行base64的编码。 这里签名使用到的密钥文件,是使用了Spring的特性,通过@Value(value = "${my.wx.mchApiClientKey}")加载进来的,可以根据使用实际需求修改。 通过generateSignature函数,对要求的参数(数组)进行签名。 WXPayUtil.java 如下,在SpringBoot下我加了@Component注解…

2022-02-23 0条评论 2247点热度 0人点赞 admin 阅读全文

在前一篇介绍了RSA非对称加密,以及使用Java实现RSA加密:https://blog.terrynow.com/2021/04/14/java-tool-rsa-encrypt-implement/ 本篇将介绍Javascript下如何实现(同样加解密结果在Java中互通),使用到的是Github上开源的jsencrypt:https://github.com/travist/jsencrypt Javascript下无法生成密钥对,可以使用https://blog.terrynow.com/2021/04/1…

2021-04-20 0条评论 2196点热度 0人点赞 admin 阅读全文

本文是Python版本的AES/CBC/PKCS5PADDING加解密实现,可以加密成十六进制的文本,或者Base64编码的文本,也支持中文!支持密码和iv(也可以简单点密码key和iv一样) JavaScript版本 加解密AES/CBC/PKCS5PADDING(加解密结果和本文Python版本的也互通),请看我的博客:https://blog.terrynow.com/2021/04/15/javascript-tool-cbc-pkcs5padding-implement/ AES/CBC/PKCS5PAD…

2021-04-16 0条评论 3002点热度 0人点赞 admin 阅读全文

AES/CBC/PKCS5PADDING 加解密的Java实现(加解密结果和Javascript版本互通),请看我的博客:https://blog.terrynow.com/2021/04/14/java-tool-aes-cbc-pkcs5padding-implement/ Python版本的实现(加解密结果同样和本篇互通),请查看这篇:https://blog.terrynow.com/2021/04/16/python-tool-aes-cbc-pkcs5padding-implement/ Javascr…

2021-04-15 0条评论 2314点热度 0人点赞 admin 阅读全文

本篇简单介绍下非对称加密以及公钥和私钥加密不同的使用场景,以及如何用Java代码实现AES加解密的工具类和例子 需要两个密钥(公钥和私钥)来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥) ,公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。这个公钥和私钥必须是一对的,如果用公钥对数据进行加密,那么只有使用对应的私钥才能解密,所以只要私钥不泄露,那么我 对于签名:私钥加密,公钥解密。好比你的签名只有你自已签的才是真的,别人签的都是假的。 们的数据…

2021-04-14 0条评论 1483点热度 0人点赞 admin 阅读全文

AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB 我们项目里用的多的是较多的是,下面介绍下如何使用Java来实现加解密。 关于如何使用Javascript实现(加解密结果和Java版本互通),请查看这篇:[Javascript]实现对称加解密AES/CBC/PKCS5PADDING Python版本的实现(…

2021-04-14 1条评论 2194点热度 1人点赞 admin 阅读全文