교내 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 |