commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Gräf (JIRA) <j...@apache.org>
Subject [jira] Updated: (CODEC-87) DigestUtils: MD5 checksum is not calculated correctly on linux64-platforms
Date Mon, 14 Sep 2009 08:18:57 GMT

     [ https://issues.apache.org/jira/browse/CODEC-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alexander Gräf updated CODEC-87:
--------------------------------

    Attachment: md5test.jar

Sorry!
As you guessed my testcase provided was not entirely  correct. The provided string that shows
the problematic behaviour was not the right one.
As you confirmed, the string a9P,+$ is calculated correctly on all platforms with hash f13ba39d06128b53b2bd238dfd357bcf
(i could reproduce this with the provided testcase Codec87.
However, if you use the string a9P,+§ you get the odd behaviour I was talking about.
Here are my results, using the code of testcase Codec87 with the problematic string:

79c28faa4fec5ceb98137f548f1d6fe3 Windows XP x86 5.1
3194078c1fa327f9856b5b54628f2a39 Linux amd64 2.6.16.46-0.12-smp

I attached the jar that I was using for the test. The jar contains all classes needed for
execution, so you can start it with java -jar mdtest.jar.

> DigestUtils: MD5 checksum is not calculated correctly on linux64-platforms
> --------------------------------------------------------------------------
>
>                 Key: CODEC-87
>                 URL: https://issues.apache.org/jira/browse/CODEC-87
>             Project: Commons Codec
>          Issue Type: Bug
>    Affects Versions: 1.3, 1.4
>         Environment: Suse Enterprise Linux 10 (64bit)
>            Reporter: Alexander Gräf
>         Attachments: md5test.jar
>
>
> Actual behaviour: 
> The class DigesterUtils calculates different md5-hashes depending on plattform.
> I used jdk1.5.0_19-32bit on win32 and jdk1.5.0_19-64bit on SLES 10 (64-bit) for testing.

> The effect depends on the charactersequence that is used for the calculation of the hash.
There are some charactersequences that are calculated correctly. I think that the hash that
is calculated on Windows 32 is the correct one since we have checked it by using an other
library for calculating md5-hashes (Tagish-Auth-1.0.3). Since both of the tested libraries
internally make use of the class java.security.MessageDigest but differ in the way the calculated
byte[] is transformed in a hex-string, I think that the problem is located in the Hex.encodeHex(byte[]
hashedBytes) method.
> Expected behaviour: 
> The md5-hash should should not depend on the platform and should be equal for all platforms.
> Testcase:
> System.out.println(DigestUtils.md5Hex("a9P,+$")); 
> produces the hash 79c28faa4fec5ceb98137f548f1d6fe3 on Windows XP (32bit).
> The same instruction produces 3191078c1fa327f9856b5b54628f2a39 on Suse Enterprise Linux
10 (64bit).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message