对微信支付安全的个人小总结
这几天接触微信支付,从未涉及过这方面,搞得我头大.
你需要先去了解现代密码学的相关知识:
什么是对称加密?对称加密有哪些算法(比如AES等)
什么是非对称加密?非对称加密有哪些算法(比如RSA、DSA等)
以及什么是摘要算法?(比如MDHMACSha256)
以及BASE64编码与解码,URL的编码与解码等前置知识.
在HTTPS请求中为了保障请求的完整性和真实性需要通过数字签名和数字证书来保障,详情请看:
你可以通过B站李永乐小朋友的视频来了解相关知识
微信支付接口分为V3和V2,它们主要区别如下:
V2请求体和响应体使用XML格式(无级联属性)
V3请求体和响应体使用JSON格式
V2数字签名使用MD5或HMAC-SHA256计算摘要(以及支付密钥)
V3使用API证书的私钥签名/平台证书私钥签名(使用SHA256-RSA 算法),验签使用API证书公钥/平台证书公钥验签
V2回调没有加密,敏感信息没有加密
V3使用APIV3密钥对平台证书的关键信息和平台回调进行对称加密(AEAD_AES_256_GCM),敏感信息使用RSA加密
以下是个人对微信支付安全流程的小总结,另外个人水平有限如有错误欢迎指正,如有遗漏欢迎补充.
|对微信支付安全的个人小总结
对微信支付安全的个人小总结 支付安全 移动互联网