2014-04-14 3 views
0

확인. 나는 정말 큰 연구를 해왔지만, 나는 암호문/해싱 지식이 없다. 내 자신의 컴퓨터에서 나는 PHP 5.5를 가지고 있고 password_hash 함수를 사용하고있다. 방금 깨달은 점은 내 온라인 호스팅의 최대 PHP 5.4가 있다는 것입니다.PHP <5.5 : password_hash 호환 암호 해시

저는 암호화를위한 특별한 클래스가 있습니다. 그 때문에 (잘하면) 많은 변경이 이루어지지 않습니다. 여기 내 간단한 코드입니다 :

class Enigma { 
    public static function hash($password) { 
     return password_hash($password, PASSWORD_DEFAULT); 
    } 
    public static function verify($password, $hash) { 
     if (password_verify($password, $hash)) return true; 
     return false; 
    } 
} 

당신이 그냥 단순한 오버레이입니다 볼 수 있듯이,하지만 그것을 사용하는 첫 번째 기회가있다. password_hash 및 password_verify 함수를 crypt 함수로 대체하여 나중에 passrowd_ 함수와 호환 될 수 있습니까? 예를 들어

. 이제는 crypt()를 수행 한 다음 결과를 사용자 데이터베이스에 저장하고 앞으로 password_hash 및 password_verify 함수로 전환 할 때이 암호가 작동하도록하고 모든 사용자가 암호를 변경하지 못하도록합니다.

내 연구 중에 나는 무엇이든 놓치지 않았 으면 좋겠다. 나는 간단하고 우아한 SAFE 솔루션을 찾고 있습니다 :). 당신이 도움을

들으, BR

UPDATE :

password_hash() 강력한 단방향 해시 알고리즘을 사용하여 새 암호 해시를 생성 :이 (http://pl1.php.net/manual/en/function.password-hash.php)를 읽었습니다. password_hash()는 crypt()와 호환됩니다. 그러므로 crypt()에 의해 생성 된 암호 해시는 password_hash()와 함께 사용할 수 있습니다.

그러나 crypt에는 많은 옵션이 있으며, 모든 옵션이 호환되는지는 확실하지 않습니다. OP의 요청에 따라

+3

암호 호환성 팩 => https://github.com/ircmaxell/password_compat/ –

+1

확인 +1, 감사합니다. :). 결코 들어 본 적이 없어요 ... 나는 모든 것을 혼자서하고 싶지만, 한번 시도해 볼 것입니다. –

+0

반갑습니다. –

답변

3

: PHP에 < 5.5

이 특히 유용 경우

당신은 암호 호환 기능 팩을 사용할 수있는 때를 PHP의 5.5를 사용하고 싶습니다. 10 기능.

+1

다시 데자뷰 =) –

+0

대단히 감사합니다, 선생님 :). +1, 받아들입니다. –

+0

LOL! 네.하지만 검색을 기반으로 다른 사람들에게 도움이 될 수 있습니다. Google에서 처음으로 무엇이 팝업 될지 누가 압니다. @ JohnConde –