码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • https相关内容


    https相关内容

    • 前言
    • 基础概念理解
    • https传输过程

    前言

    本文写https相关内容,持续补充

    基础概念理解

    1. 对称加密

      • 加解密秘钥是同一个
    2. 非对称加密

      • 公钥, 私钥
        • sa -> 公钥私钥都是两个数字
        • ecc -> 椭圆曲线, 两个点
      • 公钥加密, 私钥解密
        • 数据传输的时候使用
      • 私钥加密, 公钥解密
        • 数字签名的时候使用
    3. 哈希函数

      • md5/ sha1/sha2
      • 得到散列值, 散列值是定长的
    4. 消息认证码

      • 生成消息认证码: (将原始数据+共享秘钥) * 进行哈希运算 = 散列值

      • 验证消息认证码:

        • (接收的原始数据 + 共享秘钥) * 哈希运算 = 新的散列值
        • 新散列值和旧散列值进行比较, 看是不是相同
      • 作用:

        • 验证数据的一致性型
      • 弊端:

        • 两端共享秘钥必须相同, 共享秘钥分发困难
        • 所以后面不再使用消息认证码
    5. 数字签名(openssl库) -> 目的告诉所有人这个数据的所有者是xxx, xxx就是拿私钥的人

      • 生成一个非对称加密的密钥对
        • 公钥
        • 私钥
      • 生成签名:
        • 对原始数据进行哈希运算 -> 散列值
        • 使用非对称加密的私钥, 对散列值进行签名(私钥加密) -> 密文
        • 得到的密文就是数字签名
      • 签名的校验:
        • 校验者会收到签名者发送的数据

          • 原始数据
          • 数字签名
        • 对接收的数据进行哈希运算 -> 散列值

        • 使用非对称加密的公钥, 对数字签名进行解密 -> 明文 == 签名者生成的散列值

        • 校验者的散列值 和 签名者的散列值进行比较

          • 相同 -> 校验成功了, 数据属于签名的人
          • 失败 -> 数据不属于签名的人
        • 弊端:

          • 接收公钥的人没有办法校验公钥的所有者在这里插入图片描述
    6. 证书

      • 由一个受信赖的机构 (CA) 对某人的公钥进行数字签名
      • CA有一个密钥对
        • 使用ca的私钥对某个人的公钥进行加密 -> 证书
          • 证书里有这个人 的公钥
          • 证书里有这个人的个人信息

    https传输过程

    在这里插入图片描述

    1. 在百度服务器端首先生成一个秘钥对 -> 对公钥分发
    2. 百度将公钥给到了CA认证机构, ca对私钥进行签名 -> 生成了证书.
    3. 第一步第二部只做一次
    4. 客户端访问百度, 百度将ca生成的证书发送给客户端
    5. 浏览器对收到的证书进行认证
    6. 如果证书没有问题 -> 使用ca的公钥将服务器的公钥从证书中取出
    7. 我们得到了百度的公钥
    8. 在浏览器端生成一个随机数, 使用得到的公钥进行加密, 发送给服务器
    9. 服务器端使用私钥解密, 得到了随机数, 这个随机数就是对称加密的秘钥
    10. 现在秘钥分发已经完成, 后边的通信使用的的对称加密的方式
  • 相关阅读:
    工具、技巧【个人专用】如何在CSND编辑器内输出带颜色的字体?Markdown编辑器——字体、字号、颜色使用全解
    ZnDPA-Cy7 荧光细胞凋亡检测凋亡靶向探针
    mq学习方式
    [LeetCode85双周赛] [滑动窗口] [差分数组] [并查集]
    基于matlab实现的中点放炮各类地震波时距曲线程序
    Android Audio实战——音频焦点监听(十)
    PHP对接百度语音识别技术
    计算机毕业设计springboot驾校学员管理系统w42sj源码+系统+程序+lw文档+部署
    商城体系之产商品系统
    如此简单的K8S,来玩下pv和pvc,利用nfs来实现持久化存储(内网环境,非常详细)
  • 原文地址:https://blog.csdn.net/qq_42956653/article/details/126811301
  • 最新文章
  • C# 内存安全性的重大演进:重新定义 unsafe 关键字
    [MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
    一行代码干翻 Java 反射?EggG 流式反射调用让反射优雅到不可思议
    信息化运维项目费用测算全指南:政策边界、三大方法与实操要点
    Dify — Chatflow - 数据库智能查询
    Claude Code 实战 400 万 Tokens:接入 DeepSeek V4,从$26降到$2
    Docker--容器常用命令
    零基础认识大语言模型工作原理
    写页面时别再把 Element Plus 整个搬进来啦!Vue3按需加载的坑我帮你踩平了
    一条命令让你这辈子彻底解决"LF will be replaced by CRLF"(建议收藏)
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号