파이썬, 해시(hash) 토큰 값 생성 또는 비밀번호 암호화
글. 수알치 오상문
랜덤한 해시 값, 토큰 값 등을 만들 때 time과 hashlib 모듈을 사용할 수 있습니다.
비밀번호를 암호화하고 싶을 때는 time 값 대신에 비밀번호 문자열을 사용합니다.
다음 예제는 hashlib의 sha1, sha256, sha512 방식으로 암호화된 해시 값을 생성합니다. sha1 방식으로 만든 해시 문자열 값은 40바이트 길이입니다. 그리고 sha256은 60바이트, sha512는 128바이트 길이가 됩니다.
import hashlib
import time
for i in range(5):
hv = hashlib.sha1(str(time.time()).encode('utf-8')).hexdigest()
print(hv)
print("SHA1 해시값 길이:", len(hv))
for i in range(5):
hv = hashlib.sha256(str(time.time()).encode('utf-8')).hexdigest()
print(hv)
print("SHA256 해시값 길이:", len(hv))
for i in range(5):
hv = hashlib.sha512(str(time.time()).encode('utf-8')).hexdigest()
print(hv)
print("SHA512 해시값 길이:", len(hv))
[실행 결과]
2f77cc20fde4a632a685f86a5541e26183dd7a75
7a4d9c47a5cb6026ec61b3ed2223cf17ce394c1e
d1c7759ff50a1957084c9f5c2f170e16728d3c21
f7c144248beafbb095977cb3e6e560d031f9c8aa
b41df2e8d402c1743188d2209ccd432c140af10e
SHA1 해시값 길이: 40
b68b93c4cb76f2e50dc822b6b04a6319b080ccae48f1caab041b9274e4b007b9
a3dc9fa7c9d963f5926e5d1adb9625e4fcd03b226a38c7e42040d3cce88eaf84
24d3c5341854dfa60cf22e7deb66361496e5af476ceee2341efdfb3ae62a142f
58cff1566463c9a694838c3b6b608b18f046c8571f1635559288e8d6d6ee943d
c7f11ca1bcdbdf0fe32e7afbb3b21e17365b57109a3c26665b2795fd851062aa
SHA256 해시값 길이: 64
f347745e430780babdb8b58b6d1df0e60f18c863a87a9e2ee893eba608454b0657c6ab1ed1070d123f070dc064a5b3ddee641961e56dce2c4f26aaa2ebe06ac2
bd1ca040975d84d2a86166eb2e727f7b0512e7d245d25ddf875798b66d18e9a3e950ac1d8ddd5eff5f6b4bee7088f097f3a2ba2f74d6475a47ec7baeb7661490
f39301d0dde0dd31d3f6d0f3a7e9e0ff41803025b1170c941fbdd265c4266fb0334d892549894649e71a0f0e2f7d5ee718196c8cd08a6f00eebc5fa0afdaf4ec
8e706eb18b1d2aa1b079d46b590fe03f514b7b727644327b699dd335deba439b92ecfdfb4f9133b7933ddffbb9a20de7f3c85d75fb5c5d89fed641e35b877ca8
2e6bb87fea6edef629aa25c6a64b2dfc90fa92fcd59f4a546f0477e3c2dca14d10aeab4e16a20158b0bb3f6ba2ff6e74b894aedae2857289a658af8fa7ec7e3f
SHA512 해시값 길이: 128
'Python 활용' 카테고리의 다른 글
파이썬, 오라클 timeout 설정 테스트 (0) | 2021.12.14 |
---|---|
Python Oracle 데이터베이스 애플리케이션 프로그래밍(영어 동영상) (0) | 2021.12.13 |
문장 벡터 기반 유사도 검색시스템 & LSTM을 활용한 텍스트 분류 (0) | 2021.10.22 |
장고 또는 파이썬 프로젝트 requirements.txt 파일 생성 및 설치 (0) | 2021.09.29 |
Python 및 JavaScript를 사용한 Socket.IO 채팅 예제 (0) | 2021.08.20 |