PHP 비밀번호 해시 생성

회원가입, 관리자 계정, 설정 파일 등에 사용할 bcrypt 기반 비밀번호 해시를 생성하고, password_verify() 검증 예시까지 확인할 수 있습니다.

입력값은 파일이나 데이터베이스에 저장하지 않습니다. 생성 결과에는 원본 비밀번호를 표시하지 않습니다.
보안상 실제 서비스에서는 사용자가 입력한 원본 비밀번호를 로그, 화면, URL, 이메일 등에 남기지 않는 것이 좋습니다.

password_hash()를 사용하는 이유

password_hash()는 PHP에서 비밀번호를 안전하게 저장하기 위해 제공되는 내장 함수입니다. 직접 만든 암호화 방식이나 단순 SHA 계열 해시보다 비밀번호 저장 목적에 적합하며, 자동 salt를 포함해 매번 다른 해시를 생성합니다.

단방향 해시

생성된 해시는 원래 비밀번호로 복호화할 수 없습니다. 로그인 검증은 비교 방식으로 처리합니다.

자동 Salt

같은 비밀번호를 입력해도 salt가 자동 적용되어 매번 다른 해시가 생성됩니다.

검증 함수 제공

저장된 해시는 PHP의 password_verify() 함수로 안전하게 검증할 수 있습니다.

사용 방법

  1. 비밀번호 입력해시로 변환할 비밀번호 또는 문자열을 입력합니다.
  2. 해시 생성해시 생성하기 버튼을 눌러 PHP password_hash() 결과를 생성합니다.
  3. 해시 복사생성된 해시를 복사해 데이터베이스나 설정 파일에 저장합니다.
  4. 검증 적용로그인 처리 시 password_verify() 함수로 입력값을 검증합니다.

자주 묻는 질문

PHP password_hash()는 무엇인가요?

PHP password_hash()는 비밀번호를 안전한 단방향 해시로 변환하는 PHP 내장 함수입니다.

생성된 해시는 복호화할 수 있나요?

아니요. password_hash()로 생성한 해시는 단방향 해시이므로 원래 비밀번호로 복호화할 수 없습니다.

매번 다른 해시가 생성되는 이유는 무엇인가요?

password_hash()는 자동으로 salt를 생성하기 때문에 같은 비밀번호를 입력해도 매번 다른 해시가 생성됩니다.

로그인 검증은 어떻게 하나요?

로그인 검증은 password_verify() 함수를 사용해 사용자가 입력한 비밀번호와 저장된 해시를 비교합니다.