[비밀번호 저장 과정]
1. 사용자에게 비밀번호를 입력 받는다.
2. 그 비밀번호를 HASH한다.
3. 2번을 DB에 저장한다.
입력받은 비밀번호를 HASH하는 방법
$password = "gogo1234";
$hashedPassword = password_hash($password, PASSWORD_BCRYPT);
password_hash() 함수를 이용한다.
같은 문자를 해시해도, 할 때 마다 다른 해시값이 생겨난다.
다만 그 해시값에는 솔트가 있어서, 이를 통해 추후 비교할 수 있게 되어있다.
[로그인 과정]
1. 입력 받은 비밀번호 준비
2. 데이터 베이스에서 HASH된 비번 불러오기
3. password_verify() 함수를 통해 그 둘이 같은지 확인하기
$inputPassword = "gogo1234";
$storedHash = /* 데이터베이스에서 불러온 해시 값 */;
$isPasswordCorrect = password_verify($inputPassword, $storedHash);
회원가입 시 비밀번호를 해시하여 DB에 저장하고,
비밀번호 변경시에는 이를 업데이트 하면 된다.
평소 로그인 시에는 위와같은 방법으로 비교 검증한다.
'개발 > PHP' 카테고리의 다른 글
| [3주차 - 3] Vscode sftp 변경 (0) | 2023.11.15 |
|---|---|
| [3주차 - 2] PHP, Session 연결과 로그아웃 (0) | 2023.11.15 |
| [2주차 - 3] Mini-Mission (php mysql 점수출력 페이지 만들기, DB활용) (0) | 2023.11.05 |
| [2주차 - 2] DB 연결 (linux mysql DB 연결 확인, 연결 티켓 만들기) (0) | 2023.11.05 |
| [2주차 - 1] DB 연결 환경설정(Mysql설치, phpMyAdmin 설치) (0) | 2023.11.05 |