首页
学习
活动
专区
工具
TVP
发布

用户1337634的专栏

专栏成员
330
文章
623210
阅读量
30
订阅数
使用公钥完成签名验证
在对接微信支付接口时,需要对微信支付返回的信息进行签名验证,防止中间人攻击,替换微信支付返回的结果 整体过程 微信支付生成签名:私钥 + 内容 -> signature 调用方验证签名:公钥 + 内容 验证 signature 示例 生成签名 /** * 生成签名. * * @param originalData 原始数据 * @param privateKey 私钥 * @return 签名串 */ public stat
十毛
2021-11-24
7200
如何从PKCS12证书中解析私钥、公钥和证书序列号
微信支付对接用到的商户API证书是PKCS12格式,常见后缀名是.p12。调用微信支付接口时,都需要用到私钥和证书序列号,为了方便用户,所以一般要求用户直接上传证书(.p12文件),再由后台解析私钥和证书序列号。 而且因为证书本身是一个文件,不方便存储到数据库,所以也转成BASE64格式后再存储。 直接上代码 public class P12Application { public static void main(String[] args) throws Exception {
十毛
2021-06-01
3.2K0
微信支付为什么有这么多证书和秘钥
证书一般是由CA权威机构颁发,一般包含了网站与公钥的信息,用于创建HTTPS加密连接
十毛
2021-06-01
2.2K0
小程序代码复用 - template
为了提高代码的复用率,小程序提供了多种代码复用的模式,其中最简单的就是模板template。本文介绍一下如何定义模板及使用。 template定义 <template name="easy"> <text class='red' data-name="{{name}}" bindtap="click">I'm Easy,{{greeting}}</text> </template> <template name="Davi"> <text>I'm Davi,nice to meet yo
十毛
2020-09-21
1.8K0
ResponseEntity为单独接口实现灵活返回值控制
Restful API的Web后台服务,一般都提供了统一的接口规范。但是有时候又需要提供回调地址给外部服务,比如微信支付。那么这个回调接口的返回值需要满足微信支付回调的返回值协议(这个协议跟项目的Web后台服务不一致)。 利用ResponseEntity可以单独为某个接口实现返回值的完全控制,也不用修改项目的整体协议规范。 实现 项目的统一返回值协议WebResult /** * @author timxia * @since 2019/8/13 */ @Getter @Setter @ToS
十毛
2019-12-20
1.5K0
订单系统同时支持微信支付和QQ钱包 - 观察者模式&类策略模式
最近交易系统升级,需要增加QQ钱包的支付方式,为了简化多种支付方式对原有交易系统的影响。利用观察者模式和类策略模式,实现了第三支付与项目交易系统的分离 实现 第三支付服务的抽象接口 /** * 第三方支付服务的统一抽象接口. * * @author timxia * @since 2019/12/10 */ public interface PayService { PrepayResult payOrder(Order order); void applyRefund(O
十毛
2019-12-16
5210
OkHttp上传文件
对接微信的时候,需要通过后台再把图片上传到微信,得到mediaId后再执行后面操作。 图片上传接口 @PostMapping("upload") public WebResult<ImageUploadResult> upload(@RequestParam("img") MultipartFile file) { final byte[] bytes; try { bytes = file.getBytes(); } catch (IOException e)
十毛
2019-06-21
2.4K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档