hashlib에 대해 이해하지 못했습니다. 왜 일반 바이트 객체를 디코딩 할 수 있는지 모르겠지만 바이트 객체로 반환되는 해시는 디코딩 할 수 없습니다. 이 오류가 계속 :Python hashlib & Bytes 객체의 decode()
UnicodeDecodeError을 'UTF-8'코덱의 위치는 1 바이트 0xad를 디코딩 할 수 없습니다 무효 시작 바이트
여기이 오류를 생산의 내 테스트 코드입니다. 이 오류는 줄에 8 (h2 = h.decode('utf-8')
)
import hashlib
pw = '[email protected])r'
salt = 'b7u2qw^T&^#[email protected])hvx7ivRoxr^tDyua'
pwd = pw + salt
h = hashlib.sha512(pwd.encode('utf-8')).digest()
print(h)
h2 = h.decode('utf-8')
print(h2)
내가 해시하지 않으면이 완벽하게 잘 작동 ...
>>> pw = '[email protected])r'
>>> salt = 'b7u2qw^T&^#[email protected])hvx7ivRoxr^tDyua'
>>> pwd = pw + salt
>>> h = pwd.encode('utf-8')
>>> print(h)
b'[email protected])rb7u2qw^T&^#[email protected])hvx7ivRoxr^tDyua'
>>> h2 = h.decode('utf-8')
>>> print(h2)
[email protected])rb7u2qw^T&^#[email protected])hvx7ivRoxr^tDyua
그래서 내가 대해 뭔가를 이해 아니에요 같은데요
해시,하지만 내가 실종 된 단서가 없습니다.
해시는 텍스트가 아닌 바이트 문자열이므로 해독 할 수 없습니다. 해시 텍스트 형식을 원한다면 아마도 .hexdigest()를 사용하고 싶을 것입니다. – gps