αἴνιγμα
에니그마
입력한 문장의 아스키코드를 증가시켜 암호문을 만들어 보자!
암호화는 사용자가 입력한 수만큼 아스키코드를 증가시켜 문장을 암호화 시키고,
복호화는 암호화의 역순으로 설계하였습니다.
입력문 암호문 코드
안녕! 잘 지내?? (입력 난이도:3300)-----> 투븹അഄ푼ഄ횤붘ണണ 315720900
입력 문장과 입력 난이도는 각각 따로 입력하며, 출력은 암호문과 복호화에 사용되는 코드와 함께 출력 됩니다.
코드는 입력한 난이도에 임이의 숫자인 95673(ma)을 곱한 수입니다.
먼저 전체 코드를 보면
암호화
import os
kegm = input("문장: ")
na = int(input("+α 난이도(1~4200): "))
ma=95673 #변경가능
kegm_s=""
kegm2=""
c=''
ac=0
for i in range(len(kegm)):
c=kegm[i]
ac=ord(c)
ac+=na #코드+
c=chr(ac)
kegm_s+=c
naa=na*ma
print("암호화 결과: ",kegm_s,naa)
os.system('pause')
kegm = 암호화하는 문장
na = 아스키코드 증가 값
ma = 출력 시 아스키코드 증가 값을 암호화함.
암호문 작업은 for 문의 이용하여 입력한 만큼 아스키코드를 증가시키며,
작업이 끝나면 입력한 난이도에 95673을 곱하여 나오는 값과 함께 암호문이 출력합니다
복호화
import os
maa= input("암호문: ")
ba=maa.split()
kegm=ba[0]
na=int(int(ba[1])/95673) #95673
kegm_s=""
kegm2=""
c=''
ac=0
for i in range(len(kegm)):
c=kegm[i]
ac=ord(c)
ac-=na
c=chr(ac)
kegm_s+=c
print("해독 결과: ",kegm_s)
os.system('pause')
출력된 문장을 입력하면 암호문은 ba[0]에 코드는 ba[1]에 저장되며,
ba[1]에 저장된 코드를 95673으로 나누어 아스키코드 증가 값은 계산합니다.
이후 작업은 암호화의 역순으로 진행됩니다.
Encryption_v2.0
https://github.com/FURY312/Encryption_V2.0.git
GitHub - FURY312/Encryption_V2.0: 심심할때 만든 파일.
심심할때 만든 파일. Contribute to FURY312/Encryption_V2.0 development by creating an account on GitHub.
github.com
'Python' 카테고리의 다른 글
[Python파이썬] .txt 파일의 특정 단어 찾기 (우울증 진단 프로그램) (0) | 2022.11.04 |
---|---|
[Python파이썬] 벤포드 법칙으로 자료의 참, 거짓 분석 (0) | 2022.10.26 |
[Python파이썬] 파일검색, 파일삭제 하는 기능을 이용해서 컴퓨터 시한폭탄 만들기. (0) | 2022.10.22 |
파이썬 인스타그램 좋아요 봇 만들기. [Python, 자동 좋아요봇] (0) | 2022.10.19 |
Python파이썬 특정 지점의 RGB 값을 구하기 (0) | 2022.10.18 |