关于微信支付的理解

申请公众号或者小程序成功后 可以看到自己的APPID
APPID是你的公众号或者小程序等软件应用的id

申请商户号后 需要将APPID和商户号绑定 即:将应用程序和商户号绑定

商户申请商户API证书时,会生成商户私钥,并保存在本地证书文件夹的文件apiclient_key.pem中

商户API证书是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。

微信支付API v3使用由 证书授权机构 (Certificate Authority ,简称CA)签发颁发的证书。
商户可自行生成证书请求串,或下载微信支付证书工具生成证书请求串,并将证书请求串提交到商户平台后才能获得商户API证书文件,私钥文件请注意安全保存。

AES加密算法 对称加密算法
加密分组模式:先将明文分组,再分组加密,微信支付就是用的这种模式

RSA加密算法:最著名的非对称机密算法 微信支付用这种

公钥加密私钥解密
给B发送信息 用B的公钥进行加密 B收到后用自己的私钥就可以看到信息

私钥加密公钥解密(身份认证)
很多人都持有B的公钥,所以这种不是用来加密的
B使用自己的私钥对信件进行加密,A只有用B的公钥才能进行解密,A可以确定写信的人就是B

实现信息完整性:
  摘要算法也就是常说的散列函数、哈希函数
  Z任意长度->hash计算->H固定长度(数据指纹、摘要)
  
  摘要算法:不可逆,只能加密,不能解密
            难题友好性:想要破解,只能暴力枚举
            发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
            抗碰撞性:原文不同,计算后的摘要也不同

  常见的摘要算法:MD5、SHA1、SHA2  前两者没有太强的抗碰撞行

数字签名:B将信件经过摘要算法生成摘要,然后将摘要用自己的私钥进行加密生成签名
         B将数字签名附在信件下发给A,A收到信件后,经过摘要算法生成摘要,然后通过
         B的公钥对签名进行解密生成摘要,对比两份摘要是否相同 
         如果一致,就能确定信件是B发的,并且没有被篡改

公钥的信任:黑客可以伪造公钥,怎么判断公钥是真实的?

数字证书:
  如果D把自己的公钥给A,并告诉A这是B的公钥(伪造B的公钥),D用自己私钥和A通话,
  A用假的公钥进行解密,A会以为自己在和B通话

  公钥:Bob的公钥
  所有者:Bob
  颁发者:CA(证书认证机构,可信度极高)
  有效期:证书有效期限
  签名哈希算法:指定摘要算法(证书本身的摘要算法)
  指纹:证书的摘要,保证证书的完整性(证书的摘要)
  签名算法:用于生成签名,确保证书是由CA颁发的
  序列号:证书的唯一标识

 B将信件、信件的签名、数字证书一起发给A A可以通过对数字证书的摘要和通过CA公钥解密的签名对比
 确保自己拿到的是B的公钥,然后验签信件

 CA的公钥默认安装在操作系统中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值