zoukankan      html  css  js  c++  java
  • 对称加密与非对称加密与HTTPS

    最近在学习HTTPS相关知识的时候遇到了这一概念,简单梳理一下。

    对称加密

    指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。
    常见的对称加密算法:DES,AES等。

    优缺点:

    对称加密相比非对称加密算法来说,加解密的效率高、加密速度快。但是缺陷在于对于密钥的管理和分发上比较困难,不是非常安全(传输过程不安全),密钥管理负担很重。

    非对称加密

    指的是加、解密使用不同的密钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。反之,私钥加密的信息,只有公钥才能解密。

    常用的非对称加密算法:RSA

    优缺点:

    安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人。缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    严谨一点的做法是混合起来使用,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    HTTPS中的应用

    如上所说,HTTPS中就是服务器先使用非对称加密,将CA数字证书(公钥在其中)发送给客户端,客户端收到后使用数字证书认证机构在浏览器内置好的公开密钥验证数字签名后使用服务器刚发过来的公钥加密共享密钥后发送给服务器,服务器接收到后使用自己的私钥解密后,拿到共享密钥,之后客户端和服务器通过共享密钥使用对称加密通信。

  • 相关阅读:
    java继承
    c#中委托和事件区别
    c#委托中的匿名方法和lambda表达式
    c#中内置委托
    iOS消息推送获取不到deviceToken解决方案
    python+appium+iOS自动化测试case如何写?
    Xcode查看iOS崩溃与崩溃日志分析
    iOS性能检测工具instrunments简单介绍
    python实现使用代码进行代理配置
    python+locust性能测试-最简单的登录点击次数
  • 原文地址:https://www.cnblogs.com/wunsiang/p/12765166.html
Copyright © 2011-2022 走看看