Ich möchte einen Hash meines Passworts (b'¥_ÆMÐ1;2±*öªÝ='
) mit einem Hash von dem, was der Benutzer eingegeben hat, mit (str)(hashlib.md5(pw.encode('utf-8')).hexdigest())
vergleichen. Wenn ich beide drucke, kommen sie verschiedene heraus. b'¥_ÆMÐ1;2±*öªÝ='
und die andere b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='
. Aus diesem Grund kann ich diese beiden Strings nicht vergleichen. Ich bin auf der Suche nach einer Funktion, die logisch b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='
in b'¥_ÆMÐ1;2±*öªÝ='
konvertieren kann (jeder der Escape-Codes zu seinem Unicode-Gegenstück). Danke im Voraus. BTW der Hash ist ein Hash von "Lenny", wenn dies hilft. Here ist ein Link zu meinem Code. Das ist mein Ausgang:Vergleichen von Python Hashes
Welcome to The Vault Type your username: lenny (input not relevant) b'¥_ÆMÐ1;2±*öªÝ=' b"b'\\xa5\\x83_\\xc6\\x85M\\xd01;2\\xb1*\\xf6\\xaa\\xdd='"
bitte richtig, die Frage zu formatieren. – BernardoGO
'b '¥ _ÆMÐ1; 2 ± * öªª ='' ist kein legales 'bytes'-Objekt. 'bytes' Objekte verwenden' \ x' Escape-Zeichen für alles außer druckbare ASCII beim Anzeigen. Was Sie haben, sieht aus wie eine schreckliche Umwandlung eines 'str' in etwas, das wie' Bytes' aussieht, aber nicht ist. – ShadowRanger
Etwas scheint falsch zu sein ... wenn du '' ¥ _ÆMÐ1; 2 ± * öªª = ''in' utf-8' codierst, bekommst du 'b' \ xc2 \ xa5_ \ xc3 \ x86M \ xc3 \ x901; 2 \ xc2 \ xb1 * \ xc3 \ xb6 \ xc2 \ xaa \ xc3 \ x9d = ''Das ist nicht dasselbe wie' b' \ xa5 \ x83_ \ xc6 \ x85M \ xd01; 2 \ xb1 * \ xf6 \ xaa \ xdd = ' ' – danidee