- 이번 프로그램은 이전글(2022.11.15 - [파이썬 실습/암호화프로그램만들기] - 파이썬 암호화 프로그램 만들기 - 1. 소개편)에 이은 2번째 글로 단방향 암호화에 대하여 설명합니다.
(본 블로그의 내용은 유튜브 동영상(파이썬 암호화 프로그램 만들기-2.해시(making Encryption program byPython 2. one way encryption(hash)))에서 더욱 자세히 보실 수 있습니다.)
- 단방향 암호화의 핵심인 해시는 한번 암호화하면 원래상태 즉, 복호화가 불가능한 암호화 기법입니다. 이를 사용하는 가장 중요한 이유 중 하나는 원본데이터의 조작여부를 확인하는데 해시만큼 좋은 기법이 없기 때문입니다.
해시에 대한 내용은 여기까지 간단히 설명 드리고, 더욱 자세한 내용은 아래 링크에서 세상에서 가장 쉬운 설명을 들으실 수 있습니다.
(개인적으로 이 어려운 내용을 이렇게 쉽게 설명하는 곳은 처음 봤습니다. 감동받아서 이렇게 링크로 공유 드립니다.)
https://www.youtube.com/watch?v=qP1H2dwnAVA&t=9s (암호학1-2. 단방향 암호화 방법, 생활코딩)
(참고로 저는 이곳과 아무런 이해관계가 없음을 밝힙니다.)
(1) 아래에서와 같이 프로그램을 실행시키면 원본 메시지(1. 홍길동, 2. hongkildong) 의 해시값을 보여줍니다.
O 시작전 준비 사항
- 프로그램을 실행하기 위해서는 해시 모듈이 필요합니다. 아래와 같이 임포트 해줍니다.
import hashlib
간단하게 여기까지 이상없이 되셨다면 이제 우리는 다음 단계로 넘어갈 준비가 되었습니다.
import hashlib
str1 = "홍길동"
str2 = "hongkildong"
result = hashlib.sha256(str1.encode())
print("'",str1, "' 의 해시값(sha256) : ", result.hexdigest())
result = hashlib.sha256(str2.encode())
print("'",str2, "' 의 해시값(sha256) : ", result.hexdigest())
> python 1.hash.py
1.result = hashlib.sha256(msg1.encode()) <-- msg1을 인코딩 후 sha256으로 해시
2.print("'",msg1, "' 의 해시값(sha256) : ", result.hexdigest()) <-- 해시된 값을 보기위해 hexdigest()함수 사용
3,result = hashlib.sha256(msg2.encode()) <-- msg2을 인코드 후 sha256으로 해시
4,print("'",msg2, "' 의 해시값(sha256) : ", result.hexdigest()) <-- 해시된 값을 보기위해 hexdigest()함수 사용
1.기본 소스에 대한 설명은 위에서 설명 드린 바와 같으며, 프로그램을 실행하면 간단하게 메시지1과 메시지2에 대한 해시값을 보여줍니다. 이 값을 역으로 복호화 할 수 없습니다.
오늘은 여기까지이며, 위의 내용이 유익하셨다면, 좋아요와 구독 부탁드립니다.
감사합니다.
'파이썬 실습 > 암호화프로그램만들기' 카테고리의 다른 글
파이썬 GUI/윈도우 암호화 프로그램 만들기 - 4.복호화 처리 (0) | 2022.11.27 |
---|---|
파이썬 암호화 프로그램 만들기 - 4. 양방향 암호화 - 비대칭키(공개키) 방식 (5) | 2022.11.19 |
파이썬 암호화 프로그램 만들기 - 3. 양방향 암호화 - 대칭키(비공개키) 방식 (0) | 2022.11.18 |
파이썬 암호화 프로그램 만들기 - 1. 소개편 (0) | 2022.11.16 |