加密与哈希
把信息变成别人看不懂的形式来保护它——加密是可逆的(能解回来),哈希是不可逆的(只能验证、不能还原)。
加密:上锁和开锁
加密就像给一封信装进了保险箱——有钥匙的人可以打开它、读到原文,没有钥匙的人只能看到一堆无意义的字符。
在软件中,当数据需要在网络上传输时(比如你输入密码点击登录),加密会保护数据在传输过程中不被窃取。HTTPS 就是一种加密传输的方式。
哈希:单向的绞肉机
哈希和加密不同——它是不可逆的。你把数据放进去,出来的是一串固定长度的"指纹"。你无法从这个指纹还原出原始数据。
这就是为什么它适合用来存储密码:数据库里只保存密码的哈希值(指纹),即使数据库泄露,攻击者也无法还原出真正的密码。用户登录时,系统对输入的密码做同样的哈希运算,对比两个指纹是否一致即可。
有什么需要注意的?
用户密码必须经过哈希处理后再存储,绝不能以明文形式保存在数据库中。 这是数据安全最基本、最不可妥协的底线。
也叫
EncryptionHashing加密哈希
和谁相连
参见