gpt4 book ai didi

php - 我应该使用 urandom 还是 openssl_random_pseudo_bytes?

转载 作者:可可西里 更新时间:2023-10-31 23:05:39 26 4
gpt4 key购买 nike

我正在用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com