美文网首页
加密算法(面试)

加密算法(面试)

作者: 小草莓蹦蹦跳 | 来源:发表于2017-09-29 19:20 被阅读0次
  1. 对称加密(市场上最多的加密方式)
  • 需要对加密和解密使用相同的密钥的加密算法。(密钥本)

  • 服务端的密钥与客户端的密钥是相同的。

  • 常用算法:DES 3DES

  • 优点:算法公开 速度快

  • 缺点:安全性不高

  • 有相关的加密工具

  1. MD5
  • 将数据运算为另一固定长度值。(杂凑算法)

  • 平均分成若干份,再在每一份中取固定值,再将其拼接起来。所以MD5是不可逆的。(通过杂凑算法得到密钥)

  • 杂凑算法算出来的所有密钥的长度是相同的,不管字符串有多长。

  • 服务器解析不了MD5的密钥(因此服务器端也不知道客户端的密码,只是保存着MD5后的密钥)

  • 应用场合

    • 注册登录功能(验证用户信息)(服务器后台是不知道用户的密码的,因为发送给后台的是加密过后的密钥,不可以逆转得到用户的密码)

    • 不能用于支付宝等交易平台,因为MD5是不能解密的。只能用于验证信息。

    • 但事实上MD5也是可以解密的(不安全的),所以可以使用加“盐”加大MD5解密之后的复杂度。或者直接去掉密钥中的随机几个字符。

  1. base64编码
    对密钥进行base64加密

  2. 非对称加密

    • 服务器端和客户端都有两个密钥,且需要这两个密钥进行加密和解密。分别是公钥和密钥。他们之间的密钥和公钥是不同的。

    • 每一台电脑上都可以通过命令得到公有的和私有的密钥,且每个电脑上的密钥是不同的。

    • 公钥公开,密钥私有,安全性好(最安全)。但加密和解密时间长,速度慢,只适合少部分的加密

    • 用公钥加密,私钥解密。

    • 如果使用非对称加密:第一件事必须交换公钥。

    • 场合:银行(交换公钥,所以需要速度)

    1. SSH免密码登录(非对称加密)
      先进行握手确认双方是熟人。
      原理是提前把本地的公钥放到服务器上。
    1. SSH是一种网络协议,用于计算机之间的加密登录。
      利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

相关文章

网友评论

      本文标题:加密算法(面试)

      本文链接:https://www.haomeiwen.com/subject/ziibextx.html