md5 in Python anders als in PHP

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Kuttengeier
User
Beiträge: 27
Registriert: Freitag 17. August 2007, 07:04

Hi,

ich möchte einen md5wert ausgeben. Als beispiel: "lol". In Python scheint der jedoch anders als in PHP zu sein.

PHP: 9cdfb439c7876e703e307864c9167a15
Python: c7951283431eedddf677f934b7eba72d

Mein Python code:

Code: Alles auswählen

import md5
m = md5.new()
m.update("lol")
print m.hexdigest()
Es ist ziemlich wichtig, dass die beiden Codes identisch sind.

Würde mich über Hilfe freuen.

Kuttengeier
Zuletzt geändert von Kuttengeier am Donnerstag 5. Juni 2008, 08:44, insgesamt 1-mal geändert.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Eigentlich sollte so etwas ja nicht passieren - oder habe ich md5 falsch verstanden?

Könnte es ggf. etwas mit der Kodierung der Zeichen zu tun haben, die Du in die Funktion gibst? Sind die in Python und PHP identisch?

Ansonsten gib uns doch mal das BSP aus PHP, damit wir ggf. vergleichen können.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

[veers@castle ~]$ php
<?=md5("lol");?>
9cdfb439c7876e703e307864c9167a15

[veers@castle ~]$ python
Python 2.5.2 (r252:60911, Feb 23 2008, 21:20:32)
[GCC 4.2.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> h = hashlib.md5()
>>> h.update("lol")
>>> h.hexdigest()
'9cdfb439c7876e703e307864c9167a15'
Scheint zu tun ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
Kuttengeier
User
Beiträge: 27
Registriert: Freitag 17. August 2007, 07:04

Danke, hat geklappt :)

Kuttengeier
Zuletzt geändert von Kuttengeier am Donnerstag 5. Juni 2008, 08:44, insgesamt 1-mal geändert.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Und wo lag der Fehler?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Kuttengeier
User
Beiträge: 27
Registriert: Freitag 17. August 2007, 07:04

Keine Ahnung. Vielleicht das Falsche Objekt.

Kuttengeier
tux21b
User
Beiträge: 18
Registriert: Mittwoch 15. Februar 2006, 23:20
Wohnort: Linz.at
Kontaktdaten:

oder falsche Funktion?

Code: Alles auswählen

>>> from md5 import md5
>>> md5('lol').hexdigest()
'9cdfb439c7876e703e307864c9167a15'
[url]http://www.ubuntuusers.de[/url]
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Egal wie ich es mache, es kommt immer das selbe heraus, was ja auch richtig ist:

Code: Alles auswählen

import md5
import hashlib

print md5.md5('lol').hexdigest()

m = md5.new()
m.update("lol")
print m.hexdigest()

print hashlib.md5("lol").hexdigest()

h = hashlib.md5()
h.update("lol")
print h.hexdigest()

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Encodings?... Könnte ich mir am ehesten vorstellen.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Ich vermute ein newline am Ende des Strings. Also z. B. eine Zeile einer Datei eingelesen und davon die MD5 berechnet.
Antworten