加密解密、签名验签

1.加密解密

1.1什么是加密解密

加密∶在网络上传输的原始数据(明文)经过加密后形成(密文)传输,防止被窃取。

解密∶将密文还原成原始数据。

1.2加密方式分类
  1. 对称式加密:对加密和解密使用的是同一个密钥。

  2. 非对称式加密∶非对称式加密需要两个密钥(双钥),分别叫公钥和秘钥,这两把秘钥可以相互加解密。公钥公开的,不需要保密,而私钥是保密的。

1.3加密方式详解
  1. 对称加密技术
    DES加密算法
    AES加密算法
    Base64加密算法

  2. 非对称加密技术( RSA加密算法)

    场景1∶公钥加密,私钥解密
    两个用户,A和B,B有双钥,A想要把一个数据报文通过加密的方式发给B.
    在这里插入图片描述
    场景2∶私钥加密:数字签名,公钥解密:验证签名
    数字证书由来∶因为公钥是公开的不安全,所以需要第三方的CA(数字证书颁发机构)对公钥加密,加密后的东西就叫∶数字证书。数字证书包括:B用户基本信息及B的公钥的信息。X509的标准。
    在这里插入图片描述

    Fiddler不能直接抓取https协议的数据报文,需要安装一个数宇证书。
    https=http+ssl安全传输协议
    ssl安全传输协议∶安全套接层,Netscape研发。

在这里插入图片描述

  1. MD5(完全不考虑解密,也叫哈希算法,散列算法)

2.接口签名sign原理

2.1什么是接口签名?

使用用户名,密码,时间戳和所有的排过序之后的参数组合起来,再加密得到的字符串。字符串时唯一的有权访问第三方金融接口的鉴权码。=sign接口签名。

2.2为什么需要做接口签名?

1.防伪装攻击。
2…防篡改攻击3…防重放攻击4…防数据泄露

2.3如何做接口签名?

了解签名规则

  1. 对所有请求的参数按key按ASCII码做升序排列。{“c”:"“3"”,“D”.“2”,“a”:“1”
    {a"“1”,"“D”:“2"”,“c”:“3.”}
  2. 把参数名和参数值连接成字符串∶a=1&b=2&c=3
  3. 用申请到的appid和appsecret连接到字符串的头部
    appid :用户名
    appsecret :密码
    appid=admin&appsecret=123&a=1&b=2&c=3
  4. 用时间戳连接到亨符串的尾部
    appid=admin&appsecret=123&a=1&b=2&c=3&timestamp=124124252
  5. 然后再把这个字符串安装32位的MD5加密,加密后再转化成大写。
    sign = E48B34F95AE8001c99CB86A612538C04
  6. 还可以限制签名10秒内有效。

3.加解密、签名总结

3.1使用算法

在这里插入图片描述

3.2流程图

在这里插入图片描述

3.3请求过程

假设有两类系统:平台系统(一)、应用系统(多)
平台:有平台自己的公钥、私钥、以及应用的公钥
应用:有应用自己的公钥、私钥、以及平台的公钥

3.3.1应用发起请求
  1. 应用:使用平台公钥加密信息,使用应用私钥生成签名
  2. 平台:使用应用公钥验证签名,使用平台私钥解密信息
3.3.2平台发起请求
  1. 平台:使用应用公钥加密信息,使用平台私钥生成签名
  2. 应用:使用平台公钥验证签名,使用应用私钥解密信息
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值