코드 :PHP password_hash 함수 소금 길이 21 또는 22?
echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-characters']);
결과 :
Warning: password_hash(): Provided salt is too short: 21 expecting 22
코드 :
echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-charactersA']);
결과 :
$2y$10$dHdlbnR5LW9uZS1jaGFyYOVyX13hK9eb4/KXMAkHsAJX..YR7t/32
,
코드 :
echo password_hash("stackoverflow", PASSWORD_DEFAULT, ['salt' => 'twenty-one-charactersB']);
$2y$10$dHdlbnR5LW9uZS1jaGFyYOVyX13hK9eb4/KXMAkHsAJX..YR7t/32
질문 : 우리가 22 자 두 개의 서로 다른 염을 만들었지 만, 해시가 동일
보시다시피, 21 개 문자열에 A와 B를 추가하여! 그것은 22 번째 문자가 무시됩니까? 그것이 무시된다면 왜 22 문자의 소금을 요구합니까?
왜 자신을 염색하고 기본값을 사용하지 않습니까? –
[복어] (http://php.net/manual/en/function.crypt.PHP는) 기본 알고리즘, 22 문자 소금에 대한 자세한 내용 –