我想將我的密碼(b'¥_ÆMÐ1;2±*öªÝ='
)的哈希值與用戶鍵入的哈希值進行比較,結果爲(str)(hashlib.md5(pw.encode('utf-8')).hexdigest())
。當我打印他們出來不同。 b'¥_ÆMÐ1;2±*öªÝ='
,另一個b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='
。出於這個原因,我無法比較這兩個字符串。我正在尋找一種功能,可以邏輯地將b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='
轉換爲b'¥_ÆMÐ1;2±*öªÝ='
(每個轉義碼轉換爲其Unicode編碼)。提前致謝。順便說一句,散列是「lenny」的散列,如果這有幫助。 Here是我的代碼的鏈接。這是我的輸出:比較Python哈希
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='"
請正確格式的問題。 – BernardoGO
'b'¥_¬ÂÂÂÂÂÂÂÂÂ''''不是合法的'bytes'對象。顯示時,'bytes'對象對所有打印的ASCII都使用'\ x'轉義。你有什麼看起來像一個'str'的一些可怕的轉換,看起來像'字節',但不是。 – ShadowRanger
有些東西似乎是錯誤的......如果你將''_'MM1; 2±*öªÝ=''編碼爲'utf-8',就會得到'b'\ xc2 \ xa5_ \ xc3 \ x86M \ xc3 \ x901; 2 \ xc2 \ xb1 * \ xc3 \ xb6 \ xc2 \ xaa \ xc3 \ x9d =''這與b不一樣\ xa5 \ x83_ \ xc6 \ x85M \ xd01; 2 \ xb1 * \ xf6 \ xaa \ xdd =' ' – danidee