我正在辩论使用用户名作为加盐密码的一种手段,而不是与名称一起存储随机字符串。我的理由是盐的目的是防止彩虹表,那么是什么让这实际上不如那里的另一组数据安全?
例如,
hash( md5(johnny_381@example.com), p4ss\/\/0rD)
对比
hash( md5(some_UUID_value), p4ss\/\/0rD)
我不能坚持使用用户名并简化事情是否有真正的原因?我的网络搜索得到的唯一结果是关于盐应该如何像密码的辩论,但在没有任何理由的情况下结束,我的印象是这只是为了防止像 cain-and-able 破解者这样的东西在不在一百万年的范围内与之抗衡。考虑到现实的处理限制,如果人们知道哈希,他们仍然不知道密码,我认为这没什么大不了的,他们已经进入超级计算机范围以暴力破解每个单独的哈希。
有人可以在这里启发我吗?