파이썬으로 간단한 암호화 복호화 프로그램 만들기
- 프로그래밍/파이썬
- 2017. 6. 29.
안녕하세요?
오늘은 파이썬을 사용해서 암호화하는 프로그램과 복호화하는 프로그램을 만들어보려고 합니다.
뭐 제가 암화화하는 프로그램이라고 했지만 거창한 프로그램은 아니에요.
먼저 만들고자 하는 암호화와 복호화를 하는 프로그램의 원리입니다.
a-z까지의 알파벳이 있으면 제가 알파벳 a를 암호화하는 프로그램으로 돌리게되면 제가 지정한 만큼 옆으로가 다른 알파벳이 나오게 되는 것이죠.
다시말해 제가 1로 지정을 한다면 a를 입력했을때 b가 나오게 된다는 것이에요.
대충 암호화하는 프로그램의 코드는 아래와 같습니다
secret="abcde" #암호화할 문자
secret1="" #암호문
for i in secret: #암호화할 문자모든것을 반복한다
s=ord(i) #글자의 코드값을 구한다
s=s+1 #코드값을 증가시킨다
ii=chr(s) #증가된코드값에 해당하는 문자를 계산
secret1=secret1+ii #암호문에 추가
print(secret1) #출력
먼저 출력결과를 보여드리도록 하겠습니다.
보셧나요?
제가 s=s+1의 부분에서 1을 넣어서 abcde였던 문자가 알파벳이 하나씩 밀려 bcdef가 되었습니다.
그렇다면 이것을 보아 s=s+2가 된다면 abcde였던 문자는 cdefg가 되겠죠.
그렇다면 이렇게 bcdef를 다시 복호화 하는 프로그램에 대하여 감이 오시나요?
네 바로 암호화 시킬때는 s=s+1로 했던 것을 s=s-1로 바꿔주시면 됩니다.
이 암호화와 복호화를 한글로 사용하면 안녕하세요를 위의 프로그램으로 돌려보도록 하겠습니다. 이번에는 +1로하면 다 알수있으니 한 44정도로 해서 해보겠습니다.
네 이상한 외계한국어가 나오는 것을 볼 수 있습니다.
물론 이것을 다시 복호화하는 방법은 s=s-44를 해주시면 안녕하세요가 나오는 것을 보실수 있을 겁니다.(제가 s=s+44로 암호화 했기 때문이죠)
이 파이썬으로 암호화 복호화 프로그램 만드는 방법은 책에서 보고 했지만 이 암호화 복호화 프로그램을 조금 더 만져서 사용하면 재미있는 사용법도 있을 것 같네요.