Jung-uk Kim wrote:
The attached patches fix MD4 and MD5 hash functions. It seems these
are just conversion mistakes:
http://cvs.savannah.gnu.org/viewcvs/gnu-crypto/source/gnu/crypto/hash/MD4.java?root=gnu-crypto&r1=1.4&r2=1.5&diff_format=u
http://cvs.savannah.gnu.org/viewcvs/gnu-crypto/source/gnu/crypto/hash/MD5.java?root=gnu-crypto&r1=1.5&r2=1.6&diff_format=u
FYI,
Jung-uk Kim
------------------------------------------------------------------------
--- gnu/java/security/hash/MD4.java.orig Sun Jun 18 02:59:24 2006
+++ gnu/java/security/hash/MD4.java Fri Jan 5 19:17:32 2007
@@ -231,103 +231,103 @@
dd = d;
aa += ((bb & cc) | ((~bb) & dd)) + X0;
- aa = aa << 3 | aa >>> -3;
+ aa = aa << 3 | aa >>> (32 - 3);
Java masks all shift counts to the number of bits being operated on.
Your patches are a nop.
I have not tried them, so I don't know if they quiet the warnings
emitted by ecj. But if they do, it *might* be worthwhile applying them
on those grounds.
David Daney