본문으로 바로가기

교내 CTF 문제를 만들면서 해쉬함수를 필요로 하게되어 알아보니 hashlib라는 모듈이 있다고 한다.


hashlib.md5()

hashlib.sha1()

hashlib.sha256()


등등 여러 해쉬 함수들이 있다고 한다


그러나 사용하려 하니 몇가지 에러때문에 약간 삽질을 하게되었다.


TypeError: Unicode-objects must be encoded before hashing




인코딩 문제이기 때문에 encode('utf-8')로 인코딩 해주고 hash 결과를 hexdigest() 함수로 문자열 객체로 변환해주면 원하는 해시값이 잘 나오게 된다.


이 외에도


AttributeError: 'bytes' object has no attribute 'hexdigest'

괄호위치를 잘못 타이핑해서 생긴 오류


AttributeError: '_hashlib.HASH' object has no attribute 'encode'

encode 함수의 인자로 값을 잘못 넘겨주면서 생긴 오류


등 여러 실수로 인한 오류가 많았다

'Programing > Python' 카테고리의 다른 글

Python :: os 모듈  (2) 2018.09.18
Python :: 파이썬 argv 인자받기  (0) 2018.07.19
Python :: __name__ 과 __main__  (0) 2018.05.17
Python :: Flask  (0) 2018.05.17
Python :: PYC 확장자 디컴파일  (0) 2018.05.03