最原始的帐密
就明码
大家都看得到内容
再来是加密
可是如果知道加密金钥
那就跟明码一样
再再来是用Hash值
这个可能你载片时会看到上传者放Hash值跟你比对档案完整性
Hash算法可以把任意量的资讯转成固定长度的Hash值
而且原始内容改一下Hash值就会变很多
没办法从Hash值反推回原始资讯
系统就可以设计成
你打密码的时候
它把你打的密码转换成Hash值再储存/传送
系统自己也不知道你的密码
只是你打的密码的Hash值跟它存的Hash值一样
所以判断你打的密码一样
这样Hash值就算外泄
偷的人不知道密码也没用
如果他直接输入Hash值 系统也只会对那个Hash值进行Hash运算产生新的、不同的Hash值
就跟里面存的不一样 验证失败
不过因为人会打的密码也就英文数字符号组合
所以虽然从Hash没办法反推密码
可是他可以从001、002......001a...这样每个排列组合都算一次Hash
然后直接看哪个跟他偷到的Hash一样 就知道密码了
而且也不用当场算
一般都是用通用的Hash算法
它可以事先就准备好大字典
所以又多了加盐这个做法
就是 在算Hash之前,在你的密码里插一点内容
比如说你密码是123
系统在你打完123之后,先把它改成a123
然后才计算Hash
可是偷的人不会知道系统有做这个改的动作
它偷到Hash
查完字典
发现这Hash是a123转出来的
就在密码栏打a123
结果系统就把它转成aa123
Hash比对失败
不通过
更强化一点还可以让每个帐号加盐内容不一样
这样就算想自己创小号找规律都找不到
大概是这样