2012-03-06 45 views
1

下面我有在Java这种方法,需要在PHP中完全等效既是哈希值进行比较..PHP等价的Java消息摘要MD5的

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中看起来更简单:) – 2012-03-06 12:58:32