PHP의 비밀번호 관리 기능을 사용하여 안전하게 비밀번호 저장 및 확인
웹 애플리케이션에서 비밀번호를 처리할 때는 보안이 가장 중요합니다. PHP 5.5에서는 이 중요한 작업을 지원하기 위해password_hash() 및password_verify() 함수를 도입했습니다.
보안 해시 생성
password_hash() 함수는 보안 해시를 생성합니다. BCRYPT와 같은 알고리즘을 사용하여 특정 비밀번호를 복사합니다. 해시를 생성하려면 비밀번호 자체, 해싱 알고리즘(예: PASSWORD_BCRYPT) 및 옵션 배열이라는 세 가지 매개변수가 필요합니다. 옵션에는 비용(계산 요소) 및 고유 솔트(고유성을 높이기 위해 무작위로 생성된 데이터를 해시에 추가) 지정이 포함됩니다.
비밀번호 및 솔트 저장
초기 쿼리와 달리 올바른 접근 방식은 해시와 솔트를 모두 데이터베이스에 저장하는 것입니다. 이는 Password_hash()가 두 요소를 모두 포함하는 문자열을 반환하기 때문입니다. 따라서 예를 들어 MySQL 문에서는
INSERT INTO users(username, password_hash) VALUES($username, $hashAndSalt);
비밀번호 확인
사용자가 로그인할 때 입력한 비밀번호를 저장된 해시에 대해 확인해야 합니다. 이렇게 하려면 저장된 해시(해시와 솔트가 모두 포함되어 있음)를 검색하고 이를 비밀번호 확인()에 전달합니다.
if (password_verify($password, $hashAndSalt)) { // Verified }
추가 보안 조치
Beyond 이러한 기능을 사용할 때는 다른 보안 조치를 고려하십시오.
위 내용은 PHP의password_hash() 및password_verify() 함수는 어떻게 비밀번호를 안전하게 저장하고 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!