- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要提高我们网站的安全性,目前正在使用此处的指南:http://crackstation.net/hashing-security.htm ,以及此处生成的随 secret 码:https://defuse.ca/generating-random-passwords.htm .我收集到两者都使用函数 mcrypt_create_iv()
生成随机字节(或位?),但出于某种原因,我在 CentOS 6 下安装 php-mcrypt 时遇到错误。幸运的是,第一个链接说openssl_random_pseudo_bytes()
是一个 CSPRNG(PHP 文档和其他来源也支持该声明),并且在当前服务器安装的 PHP 5.4 上可用,所以我别无选择,只能在此时此刻。考虑到这些,我想问以下问题:
在不影响安全性的情况下,直接代码替换是否足够? (也就是说,只需将对 mcrypt_create_iv()
的调用替换为 openssl_random_pseudo_bytes()
即可?)
关于代码 (http://crackstation.net/hashing-security.htm#properhashing) 中提到的常量,指南说“[m]确保你的盐至少与哈希函数的输出。”我假设 PBKDF2_SALT_BYTES
和 PBKDF2_HASH_BYTES
都设置为 24 字节是否正确,因为 pbkdf2()
函数的输出仅为 24 字节,而不是 32(对于 256 位),因为使用的底层算法是 sha256
? (是的,我也在使用键拉伸(stretch)。)在相关说明中,24 字节是否合适,或者应该增加/减少,这会有什么影响?
非常感谢那些愿意回答的人。
最佳答案
openssl_random_pseudo_bytes($len, true)
和 mcrypt_create_iv($len, MCRYPT_DEV_RANDOM)
).PBKDF2_SALT_BYTES
仅用于测试函数 create_hash()
而不是 pbkdf2()
本身。因此,您只需使用这些 CSPRNG 实现您自己的盐生成函数即可。关于PHP - 用 openssl_random_pseudo_bytes() 替换 mcrypt_create_iv(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241418/
我在 PHP 中使用 opennssl_random_pseudo_bytes(),它的执行速度非常慢。我的应用程序经常超时(抛出执行时间限制错误)。 OpenSSL random 这么慢有什么特别的
我一直被告知在给密码加盐时应该使用 openssl_random_pseudo_bytes。 但我真正想知道的是,是什么让它在密码学上是安全的。 rand 之间的内部区别是什么? , mt_rand和
我需要提高我们网站的安全性,目前正在使用此处的指南:http://crackstation.net/hashing-security.htm ,以及此处生成的随 secret 码:https://de
我正在用 php 5.4 开发一个站点,我想知道使用哪个来生成随机盐以确保密码安全性更好? $salt = sha1(openssl_random_pseudo_bytes(23)); 或 $seed
Golang 是否有与 PHP 相同或几乎相同的函数 openssl_random_pseudo_bytes()功能? 我需要它在 Golang 中生成伪随机字节串。 最佳答案 快速轻量级的伪随机字节
我需要替换 PHP 的 rand() 函数,该函数使用加密强度高的随机数生成器。 openssl_random_pseudo_bytes() 函数可让您访问强随机数生成器,但它会将其数据输出为字节字符
我需要根据其 description 重新实现 PHP 函数 openssl_random_pseudo_bytes 的行为: openssl_random_pseudo_bytes — Genera
我正在构建一个将拥有用户群的应用程序,并且我正处于保护登录的阶段。我对编程(和 PHP)还很陌生,但到目前为止我的努力都指向使用 Crypt() 和 Blowfish 散列盐。 在我继续之前,让我说明
我在尝试运行我的 PHP 单元测试时遇到此异常: Fatal error: Call to undefined function openssl_random_pseudo_bytes() 这是什么意
我需要在 PHP 中生成一次性 token 。我可以使用两个似乎做同样事情的函数:random_bytes和 openssl_random_pseudo_bytes .例如,使用 random_byt
我是一名优秀的程序员,十分优秀!