Scott Dial <sc...@scottdial.com> added the comment: Got a test case that demonstrates a failure? Looks like it works to me...
$ uname -ip sparc SUNW,Sun-Fire-280R $ python -c 'import sys; print sys.byteorder' big $ python -c 'import sha; print sha.new(open("test", "rb").read()).hexdigest()' 851faf3199d27200abf2750c14ae6451696216a9 $ sha1sum -b test 851faf3199d27200abf2750c14ae6451696216a9 *test # uname -ip AMD Sempron(tm) Processor 2800+ AuthenticAMD # python -c 'import sys; print sys.byteorder' little # python -c 'import sha; print sha.new(open("test", "rb").read()).hexdigest()' 851faf3199d27200abf2750c14ae6451696216a9 # sha1sum -b /tmp/test 851faf3199d27200abf2750c14ae6451696216a9 *test I think your code analysis is wrong. Perhaps you missed the call to longReverse(), which does endianness byte-swapping, at the beginning of the sha_transform() that specifically is commented: "When run on a little-endian CPU we need to perform byte reversal on an array of longwords." ---------- nosy: +scott.dial _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10430> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com