凯撒加密与对称加密

在古典密码学中,我们经常会提及两千年前的凯撒大帝在进行军事中使用的密码加密思路: 他将字母统一向前或者向后偏移一定的位置得到密码,这样别人一般看不出来,当然看出来的人也不一般,他就能很快还原到原来的密码值,其实破译难度也不是很大。这种加密我们称为对称加密,即加密和解密的难度一致。
但是,现实生活中,显示的密码和真实的密码不能对称,应该真实到显示的简单,显示的到真实的难,即不对称加密

哈希函数

哈希能将我们输入的不固定长度的密码通过一定的算法变成固定长度的字符串,我们称之为 哈希值
哈希过程是 单向、不可逆的,并不需要密钥
因此服务器存储的是你的密码经过哈希算法得到的值,但是它也不知道你的真实密码是什么。它只会将你的输入变量通过算法加密得到应有的值与存储的值进行比较,如果一样,就登陆成功

常见分类

  • MD5
  • SHA
    • 比特币使用的是 SHA-256

彩虹表攻击

黑客在进行比较的时候,会将已有的加密值和初始值进行对比查找,在变换之后的域匹配是否与已有的重合
所以简短的密码对于很多人来说已经不是秘密了,通过简单的匹配就能找到

哈希加盐

一般的网站会对用户域密码的末尾加入随即字符串,我们这里称呼为 “盐”, 这样有效防止了其内容的泄漏
同时这也会让多个使用同样密码的人的加密结果不同
盐的值也会存在 服务器中