Python用凯撒密码加密Python字符
时间: 2023-11-19 07:50:56 浏览: 117
Python可以使用凯撒密码对字符串进行加密。凯撒密码是通过将字母移动一定的位数来实现加密和解密。在Python中,可以使用字符串模块中的ascii_lowercase和ascii_uppercase来获取小写和大写的英文字母,然后通过建立循环字母表来实现加密和解密。下面是一个示例代码:
```
import string
def caesar_cipher_encrypt(s, k):
lower = string.ascii_lowercase
upper = string.ascii_uppercase
before = string.ascii_letters
after = lower[k:] + lower[:k] + upper[k:] + upper[:k]
table = ''.maketrans(before, after)
return s.translate(table)
plaintext = "Python"
key = 3
ciphertext = caesar_cipher_encrypt(plaintext, key)
print("加密后的字符串为:", ciphertext)
```
运行结果为:
```
加密后的字符串为: Sbwkrq
```
相关问题
jmu-python-凯撒密码加密算法
凯撒密码(Caesar Cipher)是一种简单的替换密码算法。它使用固定数量的移位来对明文字符进行加密。例如,使用移位数为3的凯撒密码,字母A将被加密为字母D,字母B将被加密为字母E,以此类推。
在 Python 中,可以使用字符串方法和字符映射来实现凯撒密码加密算法。
这里是一个简单的Python代码实现:
```
def encrypt_caesar(plaintext, shift):
ciphertext = ""
for char in plaintext:
if char.isalpha():
shift_char = chr((ord(char) + shift - 97) % 26 + 97)
ciphertext += shift_char
else:
ciphertext += char
return ciphertext
```
使用方法:
```
plaintext = 'hello world'
shift = 3
ciphertext = encrypt_caesar(plaintext, shift)
print(ciphertext)
```
输出:
```
'khoor zruog'
```
请注意,这是一个很简单的凯撒密码实现,实际应用中应该使用更复杂的加密算法。
不用函数的Python写凯撒密码加密的代码
当然可以,以下是不用函数的Python代码实现凯撒密码的简单版本,它会直接在代码中进行循环加密过程:
```python
shift = int(input("请输入偏移量:"))
plaintext = input("请输入要加密的文本:")
# 遍历每个字符,根据ASCII码进行移动
encrypted_text = ""
for char in plaintext:
if 'a' <= char <= 'z': # 小写字母
new_char = chr(((ord(char) - ord('a') + shift) % 26) + ord('a'))
elif 'A' <= char <= 'Z': # 大写字母
new_char = chr(((ord(char) - ord('A') + shift) % 26) + ord('A'))
else: # 非字母字符不变
new_char = char
encrypted_text += new_char
print(f"加密后的文本: {encrypted_text}")
```
在这个例子中,我们直接对输入的明文逐个字符进行处理,并将结果拼接成加密后的文本。当你运行这段代码时,会提示你输入偏移量和要加密的文本。
阅读全文