首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# MD5哈希与MD5哈希不匹配

C# MD5哈希与MD5哈希不匹配
EN

Stack Overflow用户
提问于 2014-04-07 07:54:43
回答 2查看 884关注 0票数 0

我的练习是将administration-backend从php移植到.net。

后端与用java编写的应用程序进行通信。

与MD5-Hash相比,在php和java中,md5散列是相等的.

我不能在java应用程序中更改md5哈希代码,因为那样的话,超过10k的客户卡就不能工作了。

我的问题是,后端是移植的,现在是新后端(.net)和java应用程序之间的通信。

我的.net MD5-哈希代码返回的哈希与java代码不同。

java:

代码语言:javascript
复制
    public static String getMD5(String input) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");

            byte[] messageDigest = md.digest(input.getBytes());
            BigInteger number = new BigInteger(1, messageDigest);
            String hashtext = number.toString(16);


            // Now we need to zero pad it if you actually want the full 32 chars.
            while (hashtext.length() < 32)
                hashtext = "0" + hashtext;
            return hashtext;
        }
        catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }

我的.net代码:

代码语言:javascript
复制
        public String hashMD5(String wert)
    {


        byte[] asciiBytes = ASCIIEncoding.UTF8.GetBytes(wert);
        byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes);
        string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();

        return hashedString;
    }

我的java代码返回bb27aee4

代码语言:javascript
复制
46d5acfcd281bca9f1df7c9e38d50576

我的.net代码返回:

代码语言:javascript
复制
b767fe33172ec6cbea569810ee6cfc05

我不知道我该怎么做..。

请提前帮助和感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-07 08:05:16

--它不是MD5哈希生成器的问题

MD5散列用于bb27aee446d5acfcd281bca9f1df7c9e38d50576 &

MD5散列用于BB27AEE4b767fe33172ec6cbea569810ee6cfc05

因此,基本上在.NET中,您正在为BB27AEE4而不是bb27aee4生成MD5哈希。

因此,检查代码中的错误。

祝好运

票数 5
EN

Stack Overflow用户

发布于 2014-04-07 08:02:00

您看到的结果与散列不同的原因是用于字符串的编码不同。在.NET代码中,您显式地指定了UTF8,而没有保证--您的代码也这样做;它很可能正在使用ASCII,这会生成不同的散列。

如果在.NET和Java代码中显式指定相同的编码,那么最终也会得到相同的MD5哈希。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22906588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档