>  기사  >  백엔드 개발  >  Java 버전 MD5를 PHP 버전으로 변환

Java 버전 MD5를 PHP 버전으로 변환

巴扎黑
巴扎黑원래의
2016-11-09 13:19:071816검색

자바 코드

public static String encryptMD5_Salt(String content) {
    String resultString = "";
    String appkey = "acdf,kef";
    byte[] a = appkey.getBytes();
    byte[] datSource = content.getBytes();
    byte[] b = new byte[a.length + 4 + datSource.length];
    int i;
    for (i = 0; i < datSource.length; i++) {
        b[i] = datSource[i];
    }
    b[i++] = (byte) 143;
    b[i++] = (byte) 112;
    b[i++] = (byte) 131;
    b[i++] = (byte) 143;
    for (int k = 0; k < a.length; k++) {
        b[i] = a[k];
        i++;
    }
    try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(b);
        resultString = new HexBinaryAdapter().marshal(md5.digest());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return resultString.toLowerCase();
}

php 코드:

function javaMd5($data) {
   assert(is_array($data));
   $dataString = byteArrayToString($data);
   $hashString = md5($dataString);
   return $hashString;
}
function byteArrayToString($b) {
   assert(is_array($b));
   $asciiString = &#39;&#39;;
   for ($i = 0; $i < count($b); $i++) {
      $asciiString .= chr($b[$i]);
   }
   return $asciiString;
}
$re=array_merge
   (unpack("c*", pack("a*", $content)),
   pack("c", pack("l", 143)),
   unpack("c", pack("l", 112)),
   unpack("c", pack("l", 131)),
   unpack("c", pack("l", 143)),
   unpack("c*", pack("a*", "acdf,kef"))
   );
$re = javaMd5($re);


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.