사용자의 로그인을 확인하고 문자열에 md5()를 적용하기 위해 일반 암호를 전달하면 md5 해시가 MySQL 데이터베이스에 저장된 md5 해시와 동일합니다 (로그인 성공) .동일한 암호이지만 다른 md5 해시
하지만 내 POST 기능에서 사용자 암호를 명확하게 전달하고 싶지 않으므로 cryptoJS를 사용하여 키를 보낸 다음 PHP 서버 측 암호 만 해독하기로 결정했습니다.
암호가 해독 된 암호를 사용할 때 문제가 발생합니다. md5는 다릅니다. 이것은 명확한 암호 문자열이 암호 해독 된 암호와 동일하고 md5 해시가 다르기 때문에 이상합니다.
var_dump($clearPassword); //Hello.
var_dump($decryptedPassword); //Hello.
:하지만 이렇게함으로써
당신이 볼 수 있듯이
var_dump(md5($clearPassword)); //3ea484671d7b00a1df4734ded1aa379c1.
var_dump(md5($decryptedPassword)); //470a1ad08cbdebe075214591ea20fec9.
, 그것은 정확히 같은 문자열입니다하지만 MD5 해시는 다른, 난으로 제공) (즉 위해서 var_dump를 발견했습니다 출력 :
문자열 인코딩을 변경하려고했지만 운이 없습니다. 누구나 왜 md5()가 같은 암호 문자열을 사용하여 작동하는지 설명 할 수 있습니까? 다시 한 번 감사드립니다.
여기서 '$'기호가 누락되지 않았습니까? var_dump (md5 (decryptedPassword)) ' – fpierrat
"PHP 서버 측에서 키를 보내 암호를 해독하십시오."라는 말의 의미가 명확하지 않습니다. 무슨 열쇠 요? 어떤 암호화를 사용하고 있습니까? (MD5는 암호화가 아닙니다 ...) –
@fpierrat 죄송합니다. 오타가 잘못되었습니다. 게시물에서 수정 했으므로 $와 아무 관계가 없습니다. –