我正在开发一个 CMS 系统来运行我的客户网站,但我遇到了我试图避免的情况。该hash()
函数需要 PHP >= 5.1.2,我显然不能假设所有客户端都运行它,因为我不会处理每个人的托管。
因此,我选择:
- 仅坚持使用 SHA1 - 安全性较低
- 在可用时使用 SHA512,否则使用 SHA1 - 在服务器升级时兼容性差
- 仅使用 SHA512 - 强制客户端尽快升级(不好 - 并非总是可以)
我很感激所有的投入!
我正在开发一个 CMS 系统来运行我的客户网站,但我遇到了我试图避免的情况。该hash()
函数需要 PHP >= 5.1.2,我显然不能假设所有客户端都运行它,因为我不会处理每个人的托管。
因此,我选择:
我很感激所有的投入!
hash() 函数需要 PHP >= 5.1.2,我显然不能假设所有客户端都运行它,因为我不会处理每个人的托管。
真的?!
运行 PHP < 5.1.2 意味着它至少 (!) 6 年了,因此本身就是一个安全问题。哪种哈希算法或多或少安全的问题不再重要。
Regarding the question: sha1()
(with salt) works fine for most use-cases, unless you write software for the CIA or such. The point is, that even salted md5()
-hash isn't worth to get cracked on most sites.
Using SHA512 only - forcing the client to upgrade ASAP (bad - not always they can)
When they deny to update a 6 years old software, they are doomed anyway...
PHP 5.1.2于 06 年发布。您可以放心地将其作为运行 CMS 的要求。如果您的一位客户使用 6 年的 PHP 版本 - 他会遇到比不兼容您的系统更糟糕的问题。就像您的 CMS 在 2006 年的主要浏览器 IE6 中无法很好地显示一样。