简体   繁体   English

PHP的MD5哈希等于Java

[英]php md5 hash equal to java

i just want working php md5 function(code) which generate equal result with below java code... 我只想工作php md5函数(代码),它与下面的Java代码生成相等的结果...

Normal php md5 function not giving equal result with this java code.. 普通的php md5函数与此Java代码没有给出相等的结果。

private static final String md5(String string) {
    try {
        MessageDigest messageDigest = MessageDigest.getInstance("MD5");
        messageDigest.update(string.getBytes());
        byte[] arrby = messageDigest.digest();
        StringBuffer stringBuffer = new StringBuffer();
        int n = 0;
        block3 : do {
            if (n >= arrby.length) {
                return stringBuffer.toString();
            }
            String string2 = Integer.toHexString(255 & arrby[n]);
            do {
                String string3;
                if (string2.length() >= 2) {
                    stringBuffer.append(string2);
                    ++n;
                    continue block3;
                }
                string2 = string3 = "0" + string2;
            } while (true);

        } while (true);
    }
    catch (NoSuchAlgorithmException var1_7) {
        var1_7.printStackTrace();
return "";
    }
}

code edited...and example given.... 代码已编辑...并给出了示例...

String="fpwdxx-xx0xx-xx"+"8420474066"+"xx-xx"+"2.9"+"xx-xx"+"2016-09-14 21:13:25"+"xx-xx"+"AirTel"+"xx-xx"+""+"xx-xx"+"26b792f77e6f5157"+"xx-xx"+"911364603150705"+"xx-xx"+"A52+"+"xx-xx"+"4.2.2"+"z1t998044Fgrt...d"; String =“ fpwdxx-xx0xx-xx” +“ 8420474066” +“ xx-xx” +“ 2.9” +“ xx-xx” +“ 2016-09-14 21:13:25” +“ xx-xx” +“ AirTel“ +” xx-xx“ +”“ +” xx-xx“ +” 26b792f77e6f5157“ +” xx-xx“ +” 911364603150705“ +” xx-xx“ +” A52 +“ +” xx-xx“ +” 4.2 .2“ +” z1t998044Fgrt ... d“;

Java Result: cfcb292130f3aa3cd49eed180e3d76a3 Java结果:cfcb292130f3aa3cd49eed180e3d76a3

PHP Result: dd7e471b1a66a691097017c8de 2783a3 PHP结果:dd7e471b1a66a691097017c8de 2783a3

php has his own md5 function: http://php.net/manual/en/function.md5.php php有自己的md5功能: http : //php.net/manual/zh/function.md5.php

md5($string)

this is standard implementation, but php pads the value with an extra 0 in front so it's always 16 characters, so you can check this 这是标准实现,但是php在值前加上一个额外的0,因此它始终为16个字符,因此您可以检查此值

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM