美文网首页
C#与JAVA采用MD5加密结果不一致解决方法

C#与JAVA采用MD5加密结果不一致解决方法

作者: 安易学车 | 来源:发表于2018-10-23 09:42 被阅读0次

    JAVA代码:

    public static String MD5Encode(String origin) {

    StringBuffer sb = new StringBuffer();

    try {

    MessageDigest md = MessageDigest.getInstance("MD5");

    md.update(origin.getBytes("utf8"));

    byte[] result = md.digest();

    for (int i = 0; i < result.length; i++) {

    //int val = result[i] & 0xff;

    //sb.append(Integer.toHexString(val));

    int val = (result[i] & 0x000000ff) | 0xffffff00;

    sb.append(Integer.toHexString(val).substring(6));

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return sb.toString();

    }

    C#代码:

    //str 需要加密的字符串 

    public static String MD5(String str) 

        byte[] result = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(Encoding.UTF8.GetBytes(str)); 

        StringBuilder output = new StringBuilder(16); 

        for (int i = 0; i < result.Length; i++) 

        { 

            // convert from hexa-decimal to character 

            output.Append((result[i]).ToString("x2", System.Globalization.CultureInfo.InvariantCulture)); 

        } 

        return output.ToString(); 

    }

    相关文章

      网友评论

          本文标题:C#与JAVA采用MD5加密结果不一致解决方法

          本文链接:https://www.haomeiwen.com/subject/xrsozftx.html