2013-03-11 2 views
0

내가 워드 프레스에 줌라 1.5 내 클라이언트에서 마이그레이션하고 사용자가 다시 등록하고 싶지 않습니다. 그래서 나는 WordPress 플러그인을 작성하여 사용자의 비밀번호를 jos_users 테이블에있는 것과 일치시킨 다음 그에 따라 WordPress에서 정보를 업데이트합니다. 지금까지 줌라의 암호 인증 읽고암호 인증 - 일관성 해시

모든 것은 getCryptedPassword 기능에 나 포인트 :

$db_password = explode(':', $query); //what's in the password field of jos_users 
$salt = $db_password[1]; 
$string_to_be_hashed = $user_entered_pass . $salt; 
$test_pass = md5($string_to_be_hashed); 
$test_pass = $test_pass . ":" . $salt; 
if($test_pass = query){echo "success"} 

I :

http://docs.joomla.org/API15:JUserHelper/getCryptedPassword

내 플러그인은 사용자가 같은 방식으로 입력 무엇을 암호화한다 이 계정을 사용하여 3 개의 계정을 테스트했지만 2 개만 인증합니다.

은 특히 : MD5 ($ 암호 $ 소금) :! $ 소금 = 데이터베이스에서 데이터베이스 암호 값

는 그것이 작동하지 않는 계정의 암호 값은 동일한 암호화와에 사용되는 것으로 나타납니다 같은 형식 ([md5hash] : salt). 나는 그것으로 클라이언트의 사이트에 로그인 할 수 있기 때문에 암호가 정확하다는 것을 압니다.

은 또한, 나는 getCryptedPassword 기능에 대한 전체 줌라 코드베이스에서 검색을 실행했습니다. 모든 경우에 명시적인 암호화 방법이 전송되지 않습니다. 코드와 설명서 모두 md5가 기본적으로 사용됨을 나타냅니다.

는 사람이 어떻게 다른 암호화 가능성을 찾아야한다 어떤 장소 생각할 수 있습니까?

나는이 특정 사용자 계정이 다른 암호화 것으로 보인다 다른보고하는 방법 또는 왜 아무 생각이 없습니다.

답변

1

는 줌라 기준으로 암호화은 다음과 같이 처리한다.

 jimport('joomla.user.helper'); 
    $salt = JUserHelper::genRandomPassword(32); 
    $crypt = JUserHelper::getCryptedPassword($password_choose, $salt); 
    $password = $crypt.':'.$salt; 

당신은 루트에 하나의 파일에 전체로 Joomla 프레임 워크를로드하여 별도의 파일에서 비교 일을 실행할 수 있습니다.

define('_JEXEC', 1); 
define('JPATH_BASE', dirname(__FILE__));//this is when we are in the root 
define('DS', DIRECTORY_SEPARATOR); 

require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 

또한 Joomla 암호를 해독 할 수 없습니다. 암호 (원래 텍스트)를 알고 있으면 wordpress password fromat로 시도해보십시오.

희망이 5 월에 ..

하는 데 도움이