commons-issues mailing list archives

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

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

Sebb updated CODEC-87:
----------------------

    Attachment: md5testsb.jar

Here's my version of the test case, based on Codec 1.3 (includes source for Codec87)

And here are some results:

79c28faa4fec5ceb98137f548f1d6fe3 Windows XP x86 5.1 Cp1252
79c28faa4fec5ceb98137f548f1d6fe3 FreeBSD amd64 7.2-STABLE ISO8859_1
6cfc74991f7a53c110c76634c51d9af0 SunOS x86 5.10 ASCII

So it does indeed look like there is a problem here.

> 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, md5testsb.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