我正在开发一个CMS系统,它将运行我的客户站点,但我遇到了一个我试图避免的情况。
hash()
函数需要PHP> = 5.1.2,我显然不能假设所有客户端都运行此函数,因为我不会处理每个人托管。
因此,我选择:
我很欣赏所有的意见!
答案 0 :(得分:2)
hash()函数需要PHP> = 5.1.2,我显然不能假设所有客户端都运行它,因为我不会处理每个人托管。
真的吗?!
运行PHP< 5.1.2表示它至少是(!)6年,因此本身就是一个安全问题。哈希算法或多或少安全的问题不再重要。
关于这个问题:sha1()
(含盐)适用于大多数用例,除非您为CIA等编写软件。关键是,即使是咸的md5()
- 哈希也不值得在大多数网站上破解。
仅使用SHA512 - 强制客户端尽快升级(糟糕 - 并非总是可以)
当他们拒绝更新已有6年历史的软件时,他们无论如何都注定要失败......
答案 1 :(得分:1)
PHP 5.1.2是released in '06。 您可以安全地将其作为运行CMS的要求。如果你的一个客户使用6年前的PHP版本 - 他会遇到比你系统不合适更糟糕的问题。 就像你的CMS在IE6中不能很好地显示出2006年的主浏览器一样。