암호를 crypt() 함수로 암호화했습니다. 사용자가 로그인을 원할 때 입력 한 암호로 데이터베이스에 저장된 암호를 어떻게 확인할 수 있습니까? 예에 대한로그인 페이지에서 암호를 확인할 수 있습니까?
: 새 사용자에 대해
$pass = "fgyi34".$pass."@1187Gh";
$hashed_password = crypt($pass);
암호를 crypt() 함수로 암호화했습니다. 사용자가 로그인을 원할 때 입력 한 암호로 데이터베이스에 저장된 암호를 어떻게 확인할 수 있습니까? 예에 대한로그인 페이지에서 암호를 확인할 수 있습니까?
: 새 사용자에 대해
$pass = "fgyi34".$pass."@1187Gh";
$hashed_password = crypt($pass);
.
crypt
암호를 데이터베이스에 저장하십시오. 기존 사용자
crypt
암호와 사용자가이 버튼을 제출 데이터베이스에 이전 암호화 되 암호로 암호화 되 비밀번호를 비교 클릭 할 때 변수에 저장을 위해
. 암호가 일치하지 않으면 암호가 잘못되었다는 메시지를 사용자에게 표시하십시오.
등록시 데이터베이스에 $ hashed_password를 저장하십시오. 임의의 번호를 생성
1) 것을 암호화 : 로그인에
는
크립트 암호가 암호 암호화를위한 다음 단계를 수행 그래서 되돌릴 수 없습니다 MySQL의 쿼리에 저장된 하나와 암호화 되 비밀번호를 확인 . 2) 암호화 후 데이터베이스 열 필드에 저장하십시오. 3) 로그인 할 때 입력 된 비밀번호를 다시 확인하고 다시 암호화하십시오. 4) 해시 된 비밀번호로 새 비밀번호를 확인하십시오.
Manual
을 읽어보십시오.
해싱을 기반으로하는 선택적 소금 문자열입니다. 제공되지 않는 경우, 동작은 알고리즘 구현에 의해 정의되고 예기치 않은 결과
예 번호로 이어질 수
<?php $hashed_password = crypt('mypassword'); // let the salt be automatically generated /* You should pass the entire results of crypt() as the salt for comparing a password, to avoid problems when different hashing algorithms are used. (As it says above, standard DES-based password hashing uses a 2-character salt, but MD5-based hashing uses 12.) */ if (crypt($user_input, $hashed_password) == $hashed_password) { echo "Password verified!"; } ?>
1
사용자가 로그인을 시도 할 때마다 그래서, 암호화 되password
에서 얻을 데이터베이스가 username
이고 user input
과 hashed password
을 crypt
으로 비교하십시오. 예 2
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$passhash = "SELECT `password` FROM `table` WHERE `username` = '{$username}'";
// execute the query and get the hashed password
if ($passhash) {
if (crypt($password, $passhash) == $passhash) {
echo "Password verified!";
}
}
?>
[이 (비슷해 http://stackoverflow.com/questions/8199244/using-crypt-and-verifying-not-sure-how-it-works)? – machineaddict
runnig sql 쿼리 – Garry
을 실행하기 전에 사용자가 로그인 양식을 채우는 암호를 암호화해야합니다. 그러나 다른 출력을 낼 때마다 – Saeid