java如何实现c#的MD5算法

来源:互联网  时间:2016/7/24 8:28:06

关于网友提出的“ java如何实现c#的MD5算法”问题疑问,本网通过在网上对“ java如何实现c#的MD5算法”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: java如何实现c#的MD5算法
描述:

C#的算法应该是微软实现的,不能看到源码,就是一句话
 public static string md5(string str)
    {
        string md5str = FormsAuthentication.HashPasswordForStoringInConfigFile(str.Trim().Replace("'", ""), "MD5");
        return md5str;
    }
请问使用java如何实现。
之前用java实现的结果:
69AAC51ED3FA8D84E9D6B9A37A4A523(使用了大写)
但是c#实现的结果:
69AAC51ED3FA08D84E9D6B9A37A4A523
就是差一个0呀,害得我访问接口老是说参数错,求各位大神能解答!


解决方案1:

字符编码问题
public static void main(String[] args) throws Exception {
    System.out.println(getMD5("a", "utf-8"));
}
 
public static String getMD5(String str, String encoding) throws Exception {
    MessageDigest md = MessageDigest.getInstance("MD5");
    md.update(str.getBytes(encoding));
    byte[] result = md.digest();
    StringBuffer sb = new StringBuffer(32);
    for (int i = 0; i < result.length; i++) {
        int val = result[i] & 0xff;
        if (val < 0xf) {
            sb.append("0");
        }
        sb.append(Integer.toHexString(val));
    }
    return sb.toString().toUpperCase();
}

上一篇js如何实现气泡图展示
下一篇tomcat自动删除文件问题
明星图片
相关文章
《 java如何实现c#的MD5算法》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)