前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据安全01-HTTPS 加密原理

数据安全01-HTTPS 加密原理

原创
作者头像
并发笔记
修改2020-10-27 10:29:08
6540
修改2020-10-27 10:29:08
举报
文章被收录于专栏:并发笔记并发笔记
前言

    前后端分离的开发模式中,一般由后端提供给接口给前端调用。如果接口中包含用户身份证、银行卡等敏感信息,我们必须要考虑数据安全性,因为网络传输,本身就没有安全保障。所以容不得马虎。

    众所周知,Https比Http要安全,因为传输中Https会对数据进行加密,那么到底如何加密的呢?而Https比Http要慢,也是因为要进行加密过程

Https 加密简介

    该过程使用RSA加密算法,和AES加密算法.

  1. AES(对称加密)     加密、解密过程中使用同一个密钥,效率快
  2. RSA(非对称加密)     加密、解密分别使用不同的密钥,此密钥是成对的,分为公钥和私钥。公钥允许泄露,私钥只能一方拥有,所以一般用公钥对数据加密,私钥对数据解密。
  3. Https加密详情     使用RSA的公钥对AES的密钥加密,传输给另一端,另一端使用私钥解密密文得到AES密钥,有了AES密钥了,就可以进行加密操作了。
Https 加密过程
  1. 客户端启动,发送请求到服务端,服务端用RSA算法生成一对公钥和私钥,我们简称为pubkey1,prikey1,将公钥pubkey1返回给客户端。
  2. 客户端拿到服务端返回的公钥pubkey1后,自己用RSA算法生成一对公钥和私钥,我们简称为pubkey2,prikey2,并将公钥pubkey2通过公钥pubkey1加密,加密之后传输给服务端。
  3. 此时服务端收到客户端传输的密文,用私钥prikey1进行解密,因为数据是用公钥pubkey1加密的,通过解密就可以得到客户端生成的公钥pubkey2。
  4. 然后自己在生成对称加密,也就是我们的AES的密钥,生成了这个key之后我们就用公钥pubkey2进行加密,返回给客户端。
  5. 客户端收到密文后,使用pubkey2对应的私钥prikey2,对密文解密得到AES的密钥。
  6. 最后就用加密key进行数据传输的加密,至此整个流程结束。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Https 加密简介
  • Https 加密过程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档