코르시카 2021. 3. 11. 22:43

출처 :

https://lactea.kr/entry/python-%E2%80%93-sha256-%EC%95%94%ED%98%B8%ED%99%94-%EB%B0%8F-%EB%B3%B5%ED%98%B8%ED%99%94

 

[python] – sha256 암호화 및 복호화

hashlib 모듈을 사용하여 암호화 복호화가 가능하다. 단, 복호화는 한글자로 암호화된 값만 복호화가 가능하다. [SHA-256 Encrypt] import hashlib str = "test" print(hashlib.sha256(str.encode()).hexdigest())..

lactea.kr


■ sha256

1) 정의 :

Hash table을 통해 key, value쌍으로 저장하는 데이터 구조

- key값을 통해 바로 값을 받아와 속도가 매우 빠름

- 배열로 hash table size 만큼 생성 후에 사용하므로 공간 ↔ 시간 트레이딩 하는 방식임

 

- key → 해시 함수 h(k) → 해시 주소 → 해시 테이블 상 특정 주소에 매칭( 그 안에 값이 존재 )

 

2) 장단점

(a) 장점

- 데이터 저장/읽기 속도가 빠름

- 키에 대한 중복 여부 체크 쉬움

 

(b) 단점

- 더 많은 저장 공간 소비

- 여러 키 값을 가질 수 없음

 

3) 주 사용 기준

- 잦은 검색

- 저장 / 삭제 / 읽기 빈번 → 자료에 대한 접근이 많을 때

- 캐쉬 (중복 확인이 용이하므로)

 

4) 예시 코드

import hashlib

string_in = input() # SSSSS
string_in_encoding = string_in.encode()

result = hashlib.sha256(string_in_encoding)
result_to_print = result.hexdigest()

print(hashlib.sha256(input().encode()).hexdigest())
>>> 9944e1862efbb2a4e2486392dc6701896416b251eccdecb8332deb7f4cf2a857

 

반응형