阿里巴巴做网站么长沙公司网站
2026/6/12 7:12:51 网站建设 项目流程
阿里巴巴做网站么,长沙公司网站,建设银行杭州招聘网站,易语言和网站做交互作者#xff1a;chen-trueqq.com仅供学习交流#xff0c;如有错误恳请指出#xff01;1#xff09;“盐”是什么系统存储用户密码时#xff0c;通常不会直接存储明文密码#xff0c;而是存储密码的哈希值。更准确地说#xff0c;存储的是h H#xff08;密码盐#xf…作者chen-trueqq.com仅供学习交流如有错误恳请指出1“盐”是什么系统存储用户密码时通常不会直接存储明文密码而是存储密码的哈希值。更准确地说存储的是h H密码盐而不是h H ( 密码 )。在密码存储中·盐Salt是一段随机生成的额外数据通常是若干字节的随机数比如16字节、32字节。·加盐在对密码做哈希之前把密码和盐组合起来再哈希。这个盐是跟每个用户绑定的一般是“每个用户一个随机盐”存数据库时会把哈希值h和盐一起存储。并且盐可以明文存储在数据库里不需要加密隐藏。2为什么要加盐之所以必须加盐核心原因不是“把密码再变复杂一点”而是防止离线攻击中的“批量复用”。当我们存储密码的数据库泄露后攻击者往往拿到的是一批哈希值。如果系统中存储的是h H ( 密码 )那么会有以下问题问题1两个用户只要密码相同哈希值就完全相同。攻击者不用破解就能判断“这两个人密码一样”并且一旦破解出某个哈希值对应的明文密码就能立即解锁所有同哈希值的账号批量命中。问题2攻击者可以提前把常见密码全部算出h H ( 密码 )并存成表一般叫做字典或彩虹表。拿到我们的数据库密码哈希值后只需要查表匹配哈希值就有可能找到明文密码成本极低。更糟的是这种预计算成果还能跨系统复用只要别的系统也用同样的哈希算法且不加盐攻击者的表就能继续用。问题3只要拿到哈希值攻击者可以在自己本地机器上狂暴穷举密码不会触发我们的登录限制、风控、验证码等毫无阻力。加入盐后哈希变为h H密码盐。如果每个用户都有不同且随机的盐那么即便大家使用同一个密码最终哈希也会不同。攻击者想用字典爆破时必须针对每个盐重新计算一遍从“一份计算覆盖全部用户”变成“每个用户一份计算”攻击成本被成倍放大。需要强调的是盐不需要保密通常与哈希值一起存储。盐的作用不是隐藏密码而是让每个用户的哈希值都独一无二打碎预计算与批量复用。在工程实践中仅仅“加盐再用普通哈希如MD5/SHA-256”仍不理想因为它们计算太快。实际应使用专门的密码哈希/派生算法如Argon2id、bcrypt、scrypt、PBKDF2在加盐的基础上进一步提高单次猜测成本。3为什么要叫做“盐”“盐salt”这个名字主要是来自比喻不是因为哪个标准硬规定“必须叫盐”。我们可以从以下几个角度来理解1、最直观的角度跟做饭一样的“加盐”做饭时·有一盘菜 原始数据或者密码·往里面撒盐 加入一小撮额外的东西·虽然菜本身一样但加盐的量和方式不同味道就会不一样对密码来说·同一个密码123456·不同的盐salt1和salt2·计算H123456salt1和H123456salt2得到的哈希值完全不同所以“盐”这个词非常形象同样的“菜”密码因为加了不同的“盐”味道哈希值就不一样了。2、“盐”还有“防腐、防坏”的含义盐可以用来腌制、保存食物防止腐坏。对应到安全领域·原始密码 容易“变质”的敏感东西·盐 额外的防护手段·加盐之后密码的哈希值更难被“腐蚀”破解所以“salt”这个词在英语里本来就有“腌制、保护”的含义用在密码学上也说得通。3、“撒盐”等于“撒随机性”想象我们在一张桌子上撒盐盐粒落点是乱七八糟、不规则的。密码学里加盐也是往系统里加额外的随机性·不同用户对应不同的随机盐·同一个密码用在不同网站/不同环境里会产生完全不同的哈希值·攻击者没法用一张预先算好的“万能表”搞定所有人这跟现实中“撒一把盐颗粒散落一地”很像分布杂、难预测。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询