在Python中实现凯撒密码,你可以使用以下代码:
def caesar_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
将字符转换为大写
char = char.upper()
计算字符移动后的位置
shifted = (ord(char) - ord('A') + shift) % 26
将移动后的字符添加到加密文本中
encrypted_text += chr(shifted + ord('A'))
else:
非字母字符保持不变
encrypted_text += char
return encrypted_text
def caesar_decrypt(text, shift):
decrypted_text = ""
for char in text:
if char.isalpha():
将字符转换为大写
char = char.upper()
计算字符移动前的位置
shifted = (ord(char) - ord('A') - shift) % 26
将移动前的字符添加到解密文本中
decrypted_text += chr(shifted + ord('A'))
else:
非字母字符保持不变
decrypted_text += char
return decrypted_text[1:] 去掉末尾的空格
示例使用
plaintext = "Hello, World!"
shift = 3
encrypted_text = caesar_encrypt(plaintext, shift)
print("Encrypted text:", encrypted_text)
decrypted_text = caesar_decrypt(encrypted_text, shift)
print("Decrypted text:", decrypted_text)
这段代码定义了两个函数:`caesar_encrypt` 和 `caesar_decrypt`,分别用于加密和解密文本。它们都接受一个文本字符串和一个位移量作为参数,并返回加密或解密后的文本。
在加密函数中,如果字符是字母,则将其转换为大写,然后根据位移量计算出加密后的字符,并将其添加到加密文本中。如果字符不是字母,则保持不变。
在解密函数中,过程与加密类似,但是计算方式是减去位移量。
最后,示例代码展示了如何使用这两个函数来加密和解密一段文本。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/143974.html