나는 PHP 5.4에서 사이트를 개발 중이며 암호 보안을 위해 임의의 소금을 사용하는 것이 더 나은지 궁금하다.urandom 또는 openssl_random_pseudo_bytes를 사용해야합니까?
$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);
sha1()을 사용하면 40 문자이고 0-9 및 a-f 문자 만 포함하는 문자열로 변환되므로 무작위 소금 효과가 크게 감소합니다. –
두 제안을 모두 사용하려고합니다. – John