2012-05-25 2 views
0

내가 내 일치하지 않는 CakePHP는하지만 케이크 암호화 결과를 사용하려고 해요 PHP 패스 + 소금의 MD5 암호화와 오래 된 데이터베이스가 : 여기 $use_salt = false;CakePHP 암호화가 잘 작동하지 않습니까?

$pass = 'francis'; 
$data['raw_pass'] = $pass; 
$data['cake_hash_pass'] = Security::hash($pass, 'md5', $use_salt); 
$data['php_md5_pass'] = md5($pass . ($use_salt ? '123' : '')); 
var_dump($data); 

것은 결과입니다

array 
    'raw_pass' => string 'francis' 
    'cake_hash_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4' 
    'php_md5_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4' 

와 일치하므로 문제 없습니다.

"부울 $ 염 옵션 거짓

: 나는 소금을 추가 할 때 $use_salt = true;

array 
    'raw_pass' => string 'francis' (length=7) 
    'cake_hash_pass' => string '74055e005d086abb69c1f82e8bf1f061' (length=32) 
    'php_md5_pass' => string '8d709b4b6461aef614529a83d883c64b' (length=32) 

결과 나는 종류의 내가 읽을 수 CakePHP의 문서에 여기에 붙어있어 ... 동일하지 않습니다

true 인 경우 응용 프로그램의 salt 값을 $ string (Security.salt)에 자동으로 추가합니다. "

"사용 중입니다. " $pass . '123'에 추가하지 않습니까?

또한, 내 core.php 파일 :

/** 
* A random string used in security hashing methods. 
*/ 
    Configure::write('Security.salt', '123'); 
+0

것은 당신이 해싱을 의미,이 링크를 따라하지 암호화 – Oleksi

답변

0

은 사용 "." $ pass. '123'이 (가) 추가되지 않습니까?

당신이 지금 테스트하고 있습니다 저희에게 알려 :

$temp = ($pass . ($use_salt ? '123' : '')); 
echo $temp; 
+0

: http://api20.cakephp.org/view_source/security#line- 86, 나는 CakePHP가 패스 전에 소금을 덧붙였다는 것을 알아 냈다. 나는 반대를하고 있었다;) –

관련 문제