
str_rot13 함수는 아스키 코드의 32에서 126 사이의 값에 대해 13을 더하거나 빼는 방식으로 암호화를 수행합니다.
아스키 코드에서 32에서 126 사이의 값은 영문 대문자, 영문 소문자, 숫자, 특수문자로 구성됩니다.
str_rot13 함수는 이 범위의 값에 13을 더하거나 빼는 방식으로 암호화를 수행합니다.
예를 들어, 영문 대문자 'A'의 아스키 코드는 65입니다. str_rot13 함수를 사용하여 'A'를 암호화하면 'U'가 됩니다.
아스키 코드 65 + 13 = 78, 'U'의 아스키 코드입니다.
str_rot13 함수는 암호화와 복호화를 동시에 수행할 수 있습니다.
예를 들어, 'U'를 복호화하면 'A'가 됩니다.
아스키 코드 78 - 13 = 65, 'A'의 아스키 코드입니다.
str_rot13 함수는 문자열의 아스키 코드를 변경하는 방식으로 암호화를 수행합니다.
이 방식은 매우 단순하지만, 영문 대문자, 영문 소문자, 숫자, 특수문자만을 대상으로 하므로, 보안에 취약할 수 있습니다.
하지만, 간단한 암호화와 복호화를 수행할 때 유용한 함수입니다.
str_rot13 함수는 파이썬의 built-in 함수이므로, 별도의 라이브러리 설치 없이 사용할 수 있습니다.
str_rot13 함수를 사용하여 문자열을 암호화하고 복호화하는 방법은 다음과 같습니다.
#hostingforum.kr
python
import string
def str_rot13(s):
result = ""
for c in s:
if c in string.ascii_lowercase:
result += chr((ord(c) - ord('a') + 13) % 26 + ord('a'))
elif c in string.ascii_uppercase:
result += chr((ord(c) - ord('A') + 13) % 26 + ord('A'))
else:
result += c
return result
s = "Hello, World!"
print(str_rot13(s)) # Uryyb, Jbeyq!
print(str_rot13(str_rot13(s))) # Hello, World!
이 예제에서는 str_rot13 함수를 사용하여 "Hello, World!"를 암호화하고 복호화하는 방법을 보여줍니다.
str_rot13 함수는 문자열의 아스키 코드를 변경하는 방식으로 암호화를 수행합니다.
이 방식은 매우 단순하지만, 영문 대문자, 영문 소문자, 숫자, 특수문자만을 대상으로 하므로, 보안에 취약할 수 있습니다.
하지만, 간단한 암호화와 복호화를 수행할 때 유용한 함수입니다.
2025-05-07 23:20