2012-02-29 2 views
1

Wordpress에서 Codeigniter로 개발 된 사용자 정의 CMS로 사이트를 변환하는 중입니다. 나는 Wordpress가 패스워드를 해쉬하기 위해 패스 풀을 사용한다고 들었다. 패스워드를 재설정하거나 변경하지 않고도 사용자를 원활하게 전환시키기 위해 패스 러스 라이브러리 (this site에서 설명했다)를 사용하고있다.PHPass를 사용하여 동일한 암호 해시를 생성하십시오.

내 응용 프로그램에서 정상적으로 작동하지만 Wordpress와 동일한 암호 해시가 생성되지 않습니다. 나는 그것이 어떤 종류의 사이트 키와 관련 있다고 가정하고 있지만, 나는 운이 없다. 어떻게 PHPass가 동일한 암호 해시를 생성하게 할 수 있습니까?

답변

0

두 가지 가능성이 있습니다. 그들은 다른 해싱 알고리즘을 사용하고 있거나 해시 또는 다른 난독 화 방법을 소금물에 담그고 있습니다. Wordpress가 해시를 해치는 경우 해시를 변경하기 위해 소금 표 또는 단일 소금구에 액세스해야합니다.하지만이를 알 수 있을지는 의문입니다. 나는 그 중 하나가 해시가 동일하게 나오지 않는 이유 일 가능성이 높기 때문에, PHPass가 다른 해시 난독 화 메소드와 마찬가지로 소금물을 지원하는지 확인했습니다.

http://www.openwall.com/articles/PHP-Users-Passwords

+0

기본적으로 나는 사람들을 재설정하거나 비밀번호를 변경하는 일에 매달 렸습니다. – Motive

+0

에 PHPASS가 있으면 이식성을위한 설정이 있습니다. false이면 암호를 다시 가져올 수 없지만 true로 설정하면 확인해야합니다. –

8

당신은 PHPass이 두 번 같은 해시를 생성하는 얻을 수 없습니다 - 그것은 임의의 소금을 사용합니다. 그 소금은 암호 해시 안에 저장됩니다.

이전 해시를 복사하고 암호를 확인하기 위해 PHPass의 CheckPassword ($ pass, $ hash)를 사용하면 실제로 동일한 해시를 생성 할 필요가 없습니다. $ hash로 DB에서 해쉬를주고 $ pass로 패스워드를 입력하면 일치하면 true를 반환합니다.

HashPassword() 메서드는 기존 암호와 비교하지 않고 새 암호 해시를 만드는 데만 사용됩니다 (새 암호 용).