我认为它很愚蠢。验证您已经可以使用 bcrypt 控制的成本会更高。此外,使用弱密码的众多用户中的一个很可能会与管理员的 salt+strongpass 发生冲突。当有 100 万用户时,密码匹配的机会将增加 100 万。控制性能也更难。如果您想重置用户密码会发生什么?您将拥有孤儿密码,如果密码匹配,也会对其进行检查。
还有一些逻辑问题,例如:如果您想对数据库进行分片,以便来自某些大陆的用户拥有专用于他们的服务器,该怎么办?有太多的问题。所有这些都是为了防止有人在窃取哈希时猜到您的密码?如果哈希被盗,您还有其他问题,例如其他什么被盗。只需在较慢的时间内使用具有更多通行证的 bcrypt,这不会导致冲突和其他提到的缺点。
愚蠢的...
-edit- 我重新考虑了性能差异。在考虑之后,可以对哈希进行排序和组织,因此您实际上不需要查看人们可能想象的那么多。不同之处在于检查密码的 CPU+磁盘/内存的 CPU 性能。最大的区别是黑客需要获取多少数据。但请记住,负担也在你身上。我宁愿强制更多的 CPU 时间(这可以使用 bcrypt)然后我需要多少磁盘空间。
入侵者传输所有数据可能更明显或需要更长的时间,但如果 CPU 时间足够长以至于需要数周时间来解码 6 个字母的密码(请记住,您可以强制用户使用更长的密码)并且您注意到入侵一周(更不用说一天),那么您可以锁定所有旧密码。以安全的名义让你的数据变胖是不值得的。(这有点像通过默默无闻的安全,除了它只是胖而不是秘密)