编写Python程序,简单字符加密程序:输入明文和移位数字,输出对应密文
时间: 2024-12-11 21:28:48 浏览: 33
在Python中,你可以创建一个函数来接收用户输入的明文和移位数字,并使用简单的凯撒密码加密。以下是一个基本的实现示例:
```python
def caesar_cipher(input_text, shift):
encrypted_text = ""
for char in input_text:
if 'a' <= char <= 'z':
encrypted_text += chr(((ord(char) - ord('a') + shift) % 26) + ord('a'))
elif 'A' <= char <= 'Z':
encrypted_text += chr(((ord(char) - ord('A') + shift) % 26) + ord('A'))
else:
encrypted_text += char
return encrypted_text
# 获取用户输入
plain_text = input("请输入明文: ")
shift_number = int(input("请输入移位数字: "))
# 加密
encrypted_text = caesar_cipher(plain_text, shift_number)
print("加密后的密文是:", encrypted_text)
相关问题
编写程序,简单字符加密程序:输入明文和移位数字,输出对应密文
编写一个简单的字符加密程序,通常可以使用凯撒密码(Caesar Cipher)作为基础,这是一种替换加密技术。在这个例子中,你可以让用户输入一段明文和一个移位数(也称为偏移量),然后通过将每个字母按照字母表向前或向后移动指定的位置来加密文本。
下面是一个简化的Python示例:
```python
def caesar_cipher_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha(): # 检查是否为字母
shifted_char = chr(((ord(char.lower()) - ord('a') + shift) % 26) + ord('a')) # 对小写字母处理
if char.isupper():
shifted_char = chr(((ord(char.upper()) - ord('A') + shift) % 26) + ord('A'))
encrypted_text += shifted_char
else:
encrypted_text += char # 非字母字符保持不变
return encrypted_text
# 用户输入
plaintext = input("请输入明文: ")
shift_value = int(input("请输入移位数字: "))
# 加密并输出
encrypted_text = caesar_cipher_encrypt(plaintext, shift_value)
print(f"加密后的密文: {encrypted_text}")
# 相关问题--
1. 这种加密方式安全吗?如何提高安全性?
2. 如何解密这个加密的文本?
3. 如果需要加密数字或其他特殊字符,该怎么做?>>
python实现凯撒密码包含所有字符,输入明文与移位数,输出密文
下面是一个实现凯撒密码包含所有字符的Python代码,可以输入明文和移位数,输出密文:
```python
def caesar_cipher(plain_text, shift):
cipher_text = ''
for char in plain_text:
if char.isalpha():
if char.isupper():
cipher_text += chr((ord(char) - 65 + shift) % 26 + 65)
else:
cipher_text += chr((ord(char) - 97 + shift) % 26 + 97)
else:
cipher_text += char
return cipher_text
plain_text = input('Enter plain text: ')
shift = int(input('Enter shift value: '))
cipher_text = caesar_cipher(plain_text, shift)
print('Cipher text:', cipher_text)
```
该函数 `caesar_cipher` 接收两个参数:明文和移位数。它遍历明文中的每个字符,并检查它是否为字母。如果是字母,它将根据大小写将其移位,否则将其保留为原始字符。最后,它返回密文字符串。
在主程序中,我们首先要求用户输入明文和移位数,然后调用 `caesar_cipher` 函数生成密文,并将其打印出来。
阅读全文