Sau nhiều tìm kiếm tôi đã không thể xác định làm thế nào để tránh một lỗi nêu: "Unicode-đối tượng phải được mã hóa trước khi băm" khi sử dụng mã này:Cách sửa lỗi mã hóa Unicode bằng mô-đun hashlib?
pwdinput = input("Now enter a password:")
pwd = hashlib.sha1()
pwd.update(pwdinput)
pwd = pwd.hexdigest()
Làm thế nào tôi có thể vượt qua lỗi đó? Làm thế nào để mã hóa các đối tượng Unicode?
Cảm ơn bạn rất nhiều! Điều đó làm việc hoàn hảo! Tôi ước tôi đã nhận ra điều đó sớm hơn. Cảm ơn mặc dù. – Nate
Bạn đang khá hoan nghênh. – JAB
Trong khi tôi không có fan lớn về xử lý unicode của Python 2.x, mã đặc biệt này cũng hoạt động hoàn toàn tốt trong Python 2.7, vì cả hai kiểu 'str' và' unicode' đều có phương thức mã hóa, và được cung cấp một chuỗi chỉ bao gồm các ký tự ASCII, mã hóa utf-8 của chuỗi chính xác bằng chuỗi byte của các ký tự đó. Thực tế đó rất quan trọng nếu bạn muốn băm cho "abc" và u "abc" xuất hiện giống nhau. Nếu bạn đồng ý với hai điều đó được xử lý khác nhau, thì mọi mã hóa đều ổn. – GrandOpener