Ich versuche, MD5 in Python und Shell (zsh unter OSX) zu verwenden.Wie hasse ich eine Zeichenkette, ohne ein abschließendes ' n' hinzuzufügen?
Ich habe dies:
In Python:
>>> hashlib.md5("zoo".encode('utf-8')).hexdigest()
'd2cbe65f53da8607e64173c1a83394fe'
mit Zsh:
$ echo "zoo" | md5
ace34ff0a763d9f382cbe6b219fcac7c
Da ich auch:
>>> hashlib.md5("zoo\n".encode('utf-8')).hexdigest()
'ace34ff0a763d9f382cbe6b219fcac7c'
in Python, ich denke, dass meine Zsh-Befehl eine zusätzliche (unerwünschte) '\ n' vor dem Hashing der Zeichenfolge hinzugefügt.
Warum passiert das und wie könnte ich das vermeiden?
So war es mehr ein 'echo' Problem als ein' md5' Problem. Ich kannte die "-n" Flagge nicht, danke für die Information! Ich habe keine md5sum auf meinem Betriebssystem, aber es ändert nichts wirklich mit MD5. – vmonteco
@vmonteco Ich habe keine md5 hier ..^_ * .. Ich denke, Sie sollten nicht md5 Befehl/Funktion, um die Zeichenfolge zu behandeln, es berechnet nur die MD5 Digest mit ** gegeben ** Zeichenfolge. Wenn die Zeichenfolge Newline enthält oder nicht, liegt es an Ihnen: der Eingabebefehl – Kent
Dies ist sinnvoll. :) Trotzdem nützlich um beide Lösungen zu kennen! Danke für Ihre Hilfe. – vmonteco