2012-03-06 20 views
1

私はJavaで以下この方法を持っており、両方のハッシュが比較されているとして、PHPで、完全に同等を必要とする。..PHP相当

Javaメソッドは、次のとおりです。

public String getMD5(String inStr) 
{ 
    MessageDigest md5 = null; 
    try { 
     md5 = MessageDigest.getInstance("MD5"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    char[] charArray = inStr.toCharArray(); 
    byte[] byteArray = new byte[charArray.length]; 
    for (int i = 0; i < charArray.length; i++) 
     byteArray[i] = (byte) charArray[i]; 
     byte[] md5Bytes = md5.digest(byteArray); 
     StringBuffer hexValue = new StringBuffer(); 
     for (int i = 0; i < md5Bytes.length; i++) { 
      int val = ((int) md5Bytes[i]) & 0xff; 
      if (val < 16) 
       hexValue.append("0"); 
       hexValue.append(Integer.toHexString(val)); 
      } 
      return hexValue.toString(); 
    } 

私は現在、午前phpのcryptメソッドを使用します。

アイデア?

ありがとうございました。

答えて

5

これはあなたのためには機能しませんか?

$str = 'apple'; 
$hash = md5($str); 

これは、PHPでmd5ハッシュを生成します。両方の関数の出力は等しくないのですか?

+0

はPHPでもっとシンプルに見えます:) –