2014-11-14 1 views
2

이전 서버의 새 서버에서 해시 된 암호를 전송해야합니다. 이전 서버에는 PHP 5.4.4가 있으며 암호에는 crypt() 함수가 102 자의 문자열을 반환합니다. 새로운 서버에는 PHP 5.5.7이 있고 crypt 함수는 34 자의 문자열을 반환합니다. 나는 새로운 호스팅에 해시 암호를 복사 할 경우, 지금crypt() 함수가 다른 서버에서 다른 결과 크기를 반환합니다.

crypt($_POST['password'], $hash_password) == $hash_password 

, 그리고 난 : 모두 서버에서 는 토굴은 (이전 서버에서) 나는이 코드를 사용하는 사용자 로그인에 매개 변수

crypt($password); 

없이 호출 패스워드가 맞는지 확인하기 위해 그 메소드를 호출한다. 패스워드는 절대 일치하지 않는다. 다른 서버에 대해 동일한 유형의 해시를 만들려면 어떻게해야합니까? ,

$6$kcPF.fPojej2$YF5Ui0nP8t5Wc0JVVEI9.JD2l/ZyLQGL6T5RN3E5oz3GGiSZoTBsbocMggLkdlBhO6Xe7cGdepW7bo6mKFjYx1                

새 서버

$1$Sz1cDmU0$Z0uoEwnXH1NokqPwwQJsp/ 
+0

같은 알고리즘을 사용할 수 있는지 확인하기 위해 CRYPT_BLOWFISH 또는 CRYPT_SHA256과 같은 상수 값을 확인 했습니까? (당신은 그것들이 맨 페이지에 열거되어 있음을 볼 수있다) – mishu

+0

우리에게 옛 것과 새로운 해시 예제 중 하나를 보여 달라. –

+0

내 질문을 편집했습니다. @vp_arth – giozh

답변

2

이전 서버가 해시를 생성하기 위해 SHA256 알고리즘을 사용에 : 기존 서버에

:

이 두 암호화 되 암호의 예입니다 그러나 새로운 서버는 그것을 지원하지 않는 것 같습니다; 즉, 상수 CRYPT_SHA5120입니다.

PHP가 새 서버에 설치된 방법에 따라 libcrypt이 충분한 지 여부를 확인하거나 서버를 제공하는 호스팅 회사에 문의해야 할 수 있습니다.

관련 문제