반응형
파이썬으로 MD5나 SHA-1 등의 해시값을 구하는 것은 간단합니다.
hashlib의 기능을 사용하면 간단하게 값을 구할 수 있습니다.
먼저 hashlib를 import 합니다.
import hashlib
그리고 파일을 열어 줍니다.
f = open("d:\\test.txt", "rb")
마지막으로 다음과 같이 입력하면 16진수로 표현된 SHA-1값을 얻을 수 있습니다.
hashlib.sha1(f.read()).hexdigest()
다만 이 방법으로는 큰 파일의 해시값을 구할 수가 없기 때문에 다음과 같이 하면 됩니다.
import hashlib def sha1_for_largefile(filepath, blocksize=8192): sha_1 = hashlib.sha1() try: f = open(filepath, "rb") except IOError as e: print("file open error", e) return while True: buf = f.read(blocksize) if not buf: break sha_1.update(buf) return sha_1.hexdigest()
파일 경로를 입력하면 SHA-1 값을 전달받을 수 있습니다.
MD5 값은 sha1 부분만 md5로 변경하면 값을 얻을 수 있습니다.
이 외에도 sha224, sha256, sha384, sha512도 지원하기 때문에 원하는 값에 맞게 호출하면 됩니다.
반응형
'Programming > Python' 카테고리의 다른 글
파이썬 pip로 패키지 설치하기 (0) | 2016.03.03 |
---|---|
zip 파일 압축/해제 방법 (0) | 2015.11.07 |
파이썬(Python)을 위한 IDE 툴 Pycharm (2) | 2015.11.04 |
pickle을 활용한 객체 직렬화/역직렬화 (0) | 2015.07.06 |
파이썬(Python) 설치 방법 (0) | 2015.06.04 |