我需要提高我们网站的安全性,目前正在使用此处的指南:http: //crackstation.net/hashing-security.htm,以及此处的随机密码生成:https ://defuse.ca/generating -随机密码.htm。我收集到两者都使用mcrypt_create_iv()
生成随机字节(或位?)的函数,但由于某种原因,我在 CentOS 6 下安装 php-mcrypt 时遇到错误。幸运的是,第一个链接说这openssl_random_pseudo_bytes()
是一个 CSPRNG(以及 PHP 文档和其他来源也支持该声明),并且在当前服务器安装的 PHP 5.4 上可用,所以我目前别无选择,只能使用它。考虑到这些,我想问以下问题:
直接代码替换是否足够而不影响安全性?(也就是说,只需替换对 to 的调用就
mcrypt_create_iv()
可以了openssl_random_pseudo_bytes()
吗?)关于代码中提到的常量(http://crackstation.net/hashing-security.htm#properhashing),指南说“[m]确保你的盐至少和哈希函数的输出一样长。” 我是否正确假设
PBKDF2_SALT_BYTES
andPBKDF2_HASH_BYTES
都设置为 24 字节,因为pbkdf2()
函数的输出只是 24 字节,而不是 32(对于 256 位),因为使用的底层算法是sha256
?(是的,我也在使用键拉伸。)在相关说明中,24 字节是否可以,或者应该增加/减少,这会产生什么影响?
高级感谢那些将回答的人。