# 암호화 함수
def encrypt(key, text):
result = []
key_length = len(key)
for i, char in enumerate(text):
shift = ord(key[i % key_length]) # 키의 유니코드 값으로 이동량 계산
new_char = chr((ord(char) + shift) % 1114111) # 유니코드 전체 범위
result.append(new_char)
return ''.join(result)
# 복호화 함수
def decrypt(key, text):
result = []
key_length = len(key)
for i, char in enumerate(text):
shift = ord(key[i % key_length])
new_char = chr((ord(char) - shift) % 1114111)
result.append(new_char)
return ''.join(result)
# 메인 프로그램
def main():
print(" ")
key = input("첫 번째 문자열(Key)을 입력하세요: ")
text = input("두 번째 문자열(문자열)을 입력하세요: ")
mode = input("세 번째 문자열(암호화 또는 복호화 여부)을 입력하세요 (encrypt/decrypt): ").strip().lower()
print("\nUCC?key=%s" % key)
if mode == 'encrypt':
result = encrypt(key, text)
print("암호화된 문자열:", result)
elif mode == 'decrypt':
result = decrypt(key, text)
print("복호화된 문자열:", result)
else:
print("잘못된 모드 입력입니다. 'encrypt' 또는 'decrypt'를 입력하세요.")
main()
print("UCC, Unicode Caesar Cipher")
print("Made by gwilee, CC BY-NC")
main()
본 코드의 저작권은 gwilee에게 있습니다. CC BY-NC (저작자표시-비영리)
'코딩(Python)' 카테고리의 다른 글
Python에서 유티코드 인식 (0) | 2024.07.11 |
---|