什么是Hash算法加盐
以下是一个典型的 Hash 算法加盐思路:
1 | Hash算法(Hash算法(密码)+盐) |
1、使用慢 Hash 算法可以拖延破解时间【重要】
2、使用和 Hash 函数输出的字符串等长的盐值,比如 SHA256 算法的输出是 256bits(32 bytes),那么盐值也至少应该是 32 个随机字节【重要】
3、使用随机盐还是固定盐,取决于程序是否被泄露,
一般认为,数据库是第一个被泄露的,那么随机盐是直接被拿走了,而嵌入于程序中的固定盐是安全的;
但是,能入侵到数据库的黑客一般程序也顺手可以拿走了,所以固定盐反而降低了后续彩虹表的建立时间,
所以使用随机盐虽然免不了随机盐、密码和算法一起被泄露,但能增加彩虹表攻击的成本(每一个盐都需要建立一个彩虹表,能增加一丢丢破解时间)
我认为默认使用随机盐是好事,但是有些特殊情况下使用固定盐反而能取胜
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 惜别的秘密基地!
评论
UtterancesGiscus