加密与哈希

把信息变成别人看不懂的形式来保护它——加密是可逆的(能解回来),哈希是不可逆的(只能验证、不能还原)。

加密:上锁和开锁

加密就像给一封信装进了保险箱——有钥匙的人可以打开它、读到原文,没有钥匙的人只能看到一堆无意义的字符。

在软件中,当数据需要在网络上传输时(比如你输入密码点击登录),加密会保护数据在传输过程中不被窃取。HTTPS 就是一种加密传输的方式。

哈希:单向的绞肉机

哈希和加密不同——它是不可逆的。你把数据放进去,出来的是一串固定长度的"指纹"。你无法从这个指纹还原出原始数据。

这就是为什么它适合用来存储密码:数据库里只保存密码的哈希值(指纹),即使数据库泄露,攻击者也无法还原出真正的密码。用户登录时,系统对输入的密码做同样的哈希运算,对比两个指纹是否一致即可。

有什么需要注意的?

用户密码必须经过哈希处理后再存储,绝不能以明文形式保存在数据库中。 这是数据安全最基本、最不可妥协的底线。

也叫

EncryptionHashing加密哈希

和谁相连

参见