Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #86706 > unrolled thread
| Started by | Tim Golden <mail@timgolden.me.uk> |
|---|---|
| First post | 2015-03-02 08:50 +0000 |
| Last post | 2015-03-02 08:50 +0000 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Md5 is different in Windows and Linux Tim Golden <mail@timgolden.me.uk> - 2015-03-02 08:50 +0000
| From | Tim Golden <mail@timgolden.me.uk> |
|---|---|
| Date | 2015-03-02 08:50 +0000 |
| Subject | Re: Md5 is different in Windows and Linux |
| Message-ID | <mailman.18.1425286243.13471.python-list@python.org> |
On 02/03/2015 06:19, Sarvagya Pant wrote:
> Hello, I am amazed that the md5 of a file given by python in windows is
> different than that of linux. Consider the following code:
>
> import hashlib
> def md5_for_file(f, block_size=2**20):
> md5 = hashlib.md5()
> while True:
> data = f.read(block_size)
> if not data:
> break
> md5.update(data)
> return md5.hexdigest()
>
> f = open("somefile.txt")
> print md5_for_file(f)
>
> When I run the program I get the checksum value:
> 2f9cc8da53ee89762a34702f745d2956
>
> But on this site http://onlinemd5.com/ and on linux it has value
> E10D4E3847713472F51BC606852712F1.
>
> Why is there difference in value of Checksum computed by python in
> windows and other system.?
Because you're opening the file in text mode (implicitly; that's the
default) which silently converts certain characters. If you open it in
binary mode:
f = open("somefile.txt", "rb")
then you should see the same result
TJG
Back to top | Article view | comp.lang.python
csiph-web