凯撒加密Python代码实现
时间: 2023-03-27 11:04:01 浏览: 159
你好,以下是凯撒加密的 Python 代码实现:
```python
def caesar_cipher(text, shift):
result = ""
for char in text:
if char.isalpha():
if char.isupper():
result += chr((ord(char) + shift - 65) % 26 + 65)
else:
result += chr((ord(char) + shift - 97) % 26 + 97)
else:
result += char
return result
```
其中,text 是要加密的文本,shift 是加密的位移量。该函数会返回加密后的文本。
希望能对你有所帮助。
相关问题
凯撒加密python代码
以下是一个简单的凯撒加密Python代码:
```python
def caesar_cipher(message, key):
"""实现凯撒加密"""
encrypted_message = ""
for char in message:
if char.isalpha():
# 只加密字母字符
if char.isupper():
encrypted_char = chr((ord(char) + key - 65) % 26 + 65)
else:
encrypted_char = chr((ord(char) + key - 97) % 26 + 97)
else:
# 非字母字符不加密
encrypted_char = char
encrypted_message += encrypted_char
return encrypted_message
# 测试
message = "Hello, World!"
key = 3
encrypted_message = caesar_cipher(message, key)
print(encrypted_message) # 输出:Khoor, Zruog!
```
这个代码定义了一个`caesar_cipher`函数,接受两个参数:`message`是要加密的消息,`key`是加密密钥。函数返回一个加密后的字符串。
在函数中,我们使用了Python内置的`ord`和`chr`函数,分别用于将字符转换为ASCII码和将ASCII码转换为字符。
加密过程中,我们遍历消息中的每一个字符,如果是字母字符,则将其加密,非字母字符保持不变。对于大写字母,我们将其转换为0-25的数字,加上密钥,再模26,最后再转换为对应的大写字母;对于小写字母,也是类似的处理,只是转换为0-25的数字时要减去97。
最后,我们将每个加密后的字符拼接起来,得到最终的加密消息。
凯撒加密python
凯撒加密是一种简单的替换密码,可以通过将字母按照一定的偏移量进行替换来实现加密。以下是一个使用Python实现凯撒加密的示例代码:
```python
def caesar_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha(): # 只对字母进行加密,忽略其他字符
ascii_offset = ord('a') if char.islower() else ord('A')
encrypted_char = chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
encrypted_text += encrypted_char
else:
encrypted_text += char
return encrypted_text
# 测试示例
text = "Hello, World!"
shift = 3
encrypted_text = caesar_encrypt(text, shift)
print("加密后的文本:", encrypted_text)
```
这段代码会将字符串 "Hello, World!" 使用偏移量为 3 进行加密,得到加密后的文本 "Khoor, Zruog!"。你可以根据需要修改偏移量和要加密的文本。
阅读全文