首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于C#MD5与javaMD5不一致有关问题

2013-06-25 
关于C#MD5与javaMD5不一致问题问题描述:java的MD5加密跟C#的MD5加密结果不一致,FormsAuthentication.HashP

关于C#MD5与javaMD5不一致问题
    问题描述:java的MD5加密跟C#的MD5加密结果不一致,FormsAuthentication.HashPasswordForStoringInConfigFile(p, "MD5").ToUpper();这是c#的MD5加密     在网上找了问题 有很多人提出这样的问题   说是与服务器调节保持一种MD5一致,自己写一个MD5加密。小弟不会写MD5加密,求各位大神解救啊..............
[解决办法]
加密的内容是什么类型?
[解决办法]
这里给一个JAVA版本MD5加密的实现。如果要验证加密是否正确,可以移步
http://www.ostools.net/encrypt?type=2


public final static String MD5(String s) {  
         //16进制下数字到字符的映射数组    
        char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',  
                'a', 'b', 'c', 'd', 'e', 'f' };  
        try {  
            byte[] strTemp = s.getBytes();  
            MessageDigest mdTemp = MessageDigest.getInstance("MD5");  
            mdTemp.update(strTemp);  
            byte[] md = mdTemp.digest();  
            int j = md.length;  
            char str[] = new char[j * 2];  
            int k = 0;  
            for (int i = 0; i < j; i++) {  
                byte byte0 = md[i];  
                str[k++] = hexDigits[byte0 >>> 4 & 0xf];  
                str[k++] = hexDigits[byte0 & 0xf];  
            }  
            return new String(str);  
        } catch (Exception e) {  
            // TODO: handle exception  
            e.printStackTrace();  
            return null;  
        }  
    }  



例如输入字符串是:123456
MD5加密之后是:e10adc3949ba59abbe56e057f20f883e


[解决办法]
用你写的MD5工具生成MD5字符串,然后与网上成熟的MD5生成工具生成的结果比较一下就知道哪一个对,哪一个错了
[解决办法]
引用:
四楼 MD5加密现在是正确的  只是服务器那端用的是C#  我客户端这边用的是java   所以出现了结果不一致的问题

首先得你确认哪一边加密是错的,是C#还是Java?

热点排行
Bad Request.