盐是什么?
資深大佬 : oy9r 0
我听朋友说:“加盐可以抵御黑客”,这令我感觉非常疑惑,请告诉我在服务器上撒盐来抵御黑客的原理。还是我理解错误?
大佬有話說 (45)
我听朋友说:“加盐可以抵御黑客”,这令我感觉非常疑惑,请告诉我在服务器上撒盐来抵御黑客的原理。还是我理解错误?
所以服务器不存密码明文,存摘要的哈希值,比如存 md5(“abc”) 的结果 900150983cd24fb0d6963f7d28e17f72,但登录只接受明文输入,不接受哈希值。
当黑客脱裤没拿到明文 abc,只拿到了哈希值 900150983cd24fb0d6963f7d28e17f72,他们就要想办法知道哈希值对应哪个明文。于是他们就穷举出尽可能多字符串的哈希值,做成一个表,叫彩虹表。拿着表逐个去对,哈希值对上了就知道是哪个明文了。
为了防止彩虹表这种破解方式,于是就有了盐 salt,在摘要的时候加进去,比如 md5(“a 盐 1b 盐 2c 盐 3”),这样一来摘要输入变长了,简单的彩虹表就不够用了,得制作足够大的彩虹表去对,而且就算你对出来了你还要知道哪部分是盐哪部分是真正的密码。
盐混淆了每个加密样本的共同特征,让黑客很难用通用的模型进行逆向分析。
相關參考。