>백엔드 개발 >PHP 튜토리얼 >PHP의 `password_verify`가 False를 반환하는 이유는 무엇입니까?

PHP의 `password_verify`가 False를 반환하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-04 03:18:12546검색

Why is PHP's `password_verify` Returning False?

Password_Verify가 False를 반환하는 문제 해결

PHP 5.5를 사용하여 Password_verify로 해시된 비밀번호를 확인하는 경우 잠재적인 이유를 조사하는 것이 중요합니다. 예상치 못한 거짓 때문에 return.

열 길이 고려

password_verify의 일반적인 문제 중 하나는 데이터베이스에 저장된 해시된 비밀번호의 길이에서 비롯됩니다. 매뉴얼에서는 60자 이상의 문자를 포함할 수 있는 열에 해시된 비밀번호를 저장할 것을 권장하며, 255자가 최적의 선택입니다. 데이터베이스 열이 너무 짧아서 PHP의 비밀번호 해싱 기능으로 생성된 해시된 비밀번호를 수용할 수 없으면 잘못된 확인 결과가 나올 수 있습니다.

따라서 데이터베이스 열의 길이가 해시된 비밀번호를 저장할 만큼 충분한지 확인하세요. 열이 실제로 너무 짧은 경우 적절한 크기(예: 255자)로 확장하고 저장된 해시 비밀번호가 그에 따라 업데이트되는지 확인하세요.

추가 문제 해결 팁

열 길이 외에 잘못된 결과를 초래하는 다른 요인이 있을 수 있습니다. 반환:

  • 잘못된 비밀번호 해싱: 저장을 위해 해시된 비밀번호를 생성할 때 올바른 해싱 함수와 솔트를 사용하고 있는지 다시 확인하세요.
  • 데이터 유형 불일치: PHP 코드에서 사용자가 제공한 비밀번호와 해시된 비밀번호가 모두 검색되었는지 확인하세요. 데이터베이스의 데이터 유형은 동일합니다(예: 두 문자열).
  • 후행 공백: 확인하기 전에 사용자가 제공한 비밀번호와 해시된 비밀번호에서 후행 공백을 제거하세요.
  • 더 이상 사용되지 않는 함수: 현재 버전의 PHP를 사용하고 있는지 확인하세요. 올바른 비밀번호 해싱 기능. md5 또는 sha1과 같이 더 이상 사용되지 않는 기능을 사용하지 마세요.

위 내용은 PHP의 `password_verify`가 False를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.