php 에서 비밀번호를 암호화 하거나 복호화 할때 사용하는 함수가 있습니다. password_hash 함수와 password_verify 함수가 그것인데요,
password_hash 함수는 암호화 할때 password_verify 함수는 복호화 할때 사용합니다
다만, 이 함수는 php 버번 5.3.7 이상일 경우에 한해서 사용이 가능합니다.
그 이하 버전에서 사용하고자 할 경우에는 별도로 include 해줘야 합니다
<?
include "./password.php";
?>
include 할 파일은 아래에 링크를 걸어두었습니다.
php 버전 5.3.7 이상일 경우에는 내장함수로 지원하기 때문에 별도로 include 할 필요가 없습니다.
회원가입시에 입력받은 아이디를 DB에 저장할 경우 아래와 같이 사용하시면 됩니다.
그리고 로그인 화면에서 입력받은 비밀번호를 DB에 저장된 비밀번호와 비교할 때는 아래와 같이 하시면 됩니다.
참고로, 아래와 같이 암호화된 비번을 출력해보면, 실행할 때마다 다른 값이 나옵니다.
같은 비밀번호라고 해도 DB에 저장되는 값은 매번 바뀐다는 겁니다.
echo password_hash($user_passwd, PASSWORD_DEFAULT);
하지만 아래와 같이 비교할 때는, DB에 어떤값이 저장되어 있더라도 비교가 가능합니다.
즉, DB정보가 노출되더라도 비밀번호값을 알아내기가 쉽지 않다는 겁니다
if ( password_verify($user_passwd, $db_passwd))
euc-kr, utf-8 변환시 mysql phpMyAdmin 에서만 한글이 깨질때 (0) | 2019.03.29 |
---|---|
php 세션(session) 생성, 사용, 삭제, 쿠키(cookie)와 다른점? (0) | 2019.03.06 |
php date 날짜함수,지정된 날짜로부터 일정간격의 날짜구하기 (0) | 2019.02.26 |
mysql 에러출력 mysqli_error() mysqli_connect_error() (0) | 2019.02.22 |
utf-8 문자를 euc-kr 로 변환하여 DB에 저장하기 (0) | 2018.02.25 |
댓글 영역