2011-09-13 12 views
0
switch case方法で

私のパスワードハッシュ関数からどの情報を抽出できますか?それは可逆ですか?

switch ($crypt_type) { 
     case "MD5": $crypted_pass = md5($password); break; 
     case "SHA1": $crypted_pass = sha1($password); break; 

     case "DESMD5": 
//jpap 
//  $salt = substr($crypt_type, 0, 11); 
     $salt = substr($p_password, 0, 11); 
//jpap 
     $crypted_pass = crypt($password, $salt); 
     break; 

     case "CRYPT": 
//jpap 
//  $salt = substr($crypt_type, 0, 2); 
     $salt = substr($p_password, 0, 2); 
//jpap 
     $crypted_pass = crypt($password, $salt); 
     break; 

     default: 
     $crypted_pass = sha1($password); break; 
    } 

これは、それが、このことによって抽出することができますどのような情報

$1$lwnY.pgz$rm4Bwn0XmK7k4QawHi8Cz0 

を生成したハッシュされたパスワードのですか?それは安全ですか?

答えて

0

元のパスワードは、定義からですこれから抽出することはできません。提供された文字列から、私は$CRYPT_TYPEが暗号であり、使用されるアルゴリズムが塩で1wnY.pgzのmd5であると推測できます。 cryptのパスワードとしてパスワードの一部を使用しないでください。これは結果に表示されます。

ハッシュから元の値を計算できないという意味では安全です。

関連する問題