- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在用 php 5.4 开发一个站点,我想知道使用哪个来生成随机盐以确保密码安全性更好?
$salt = sha1(openssl_random_pseudo_bytes(23));
或
$seed = '';
$a = @fopen('/dev/urandom','rb');
$seed .= @fread($a,23);
$salt = sha1(seed);
或者我应该选择:
$salt = openssl_random_pseudo_bytes(40);
或
$salt = '';
$a = @fopen('/dev/urandom','rb');
$salt .= @fread($a,23);
最佳答案
出于安全目的,您最好使用 openssl_random_pseudo_bytes
。 OpenSSL 负责收集足够的熵来为您提供良好的随机性。 /dev/urandom
被设计为从不 阻塞并且可能会被欺骗给你不那么随机的字节。
对于随机字节,您不需要通过 SHA1 运行它们。
总而言之,做:
$salt = openssl_random_pseudo_bytes(40, $cstrong);
if (! $cstrong) {
exit('This should not happen');
}
关于php - 我应该使用 urandom 还是 openssl_random_pseudo_bytes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089516/
我在 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
我是一名优秀的程序员,十分优秀!