凯撒密码加密算法python
时间: 2023-05-28 12:01:52 浏览: 153
以下是凯撒密码加密算法的Python实现代码:
```
def caesar_cipher(plaintext, key):
ciphertext = ''
for char in plaintext:
if char.isalpha():
char_code = ord(char)
if char.isupper():
ciphertext += chr((char_code - 65 + key) % 26 + 65)
else:
ciphertext += chr((char_code - 97 + key) % 26 + 97)
else:
ciphertext += char
return ciphertext
```
其中,参数`plaintext`是要加密的明文,`key`是密钥。函数返回加密后的密文。该函数实现的凯撒密码算法是将明文中的所有字母按照字母表偏移`key`个位置进行替换,非字母字符不变。
相关问题
凯撒密码加密算法的python编程
凯撒密码是一种简单的替换密码,是古典密码学中最简单的加密算法之一。它的原理是将明文中的每个字母按照字母表顺序向后(或向前)移动固定的位数,从而得到密文。在Python中,可以通过以下方式实现凯撒密码加密算法:
```python
def caesar_cipher(text, shift):
result = ""
# 遍历明文中的每个字符
for i in range(len(text)):
char = text[i]
# 如果是大写字母
if char.isupper():
result += chr((ord(char) + shift - 65) % 26 + 65)
# 如果是小写字母
elif char.islower():
result += chr((ord(char) + shift - 97) % 26 + 97)
# 如果是其他字符
else:
result += char
return result
```
其中,text表示明文,shift表示移动的位数。该函数的返回值为加密后的密文。
例如,我们可以使用以下代码调用该函数:
```python
text = "hello world"
shift = 3
cipher_text = caesar_cipher(text, shift)
print("加密后的密文为:", cipher_text)
```
输出结果为:
```
加密后的密文为: khoor zruog
```
python凯撒密码加密算法
凯撒密码是一种古老的加密算法,它通过将明文中的每个字母按照一定的规则替换成密文中的字母来实现加密。下面是使用Python实现凯撒密码加密算法的代码:
```python
def caesar_encrypt(plaintext, key):
ciphertext = ""
for char in plaintext:
if char.isalpha():
if char.isupper():
ciphertext += chr((ord(char) + key - 65) % 26 + 65)
else:
ciphertext += chr((ord(char) + key - 97) % 26 + 97)
else:
ciphertext += char
return ciphertext
```
其中,`plaintext`是要加密的明文,`key`是密钥,表示每个字母向前移动的位数。这个函数会返回加密后的密文。
下面是一个例子,演示如何使用这个函数加密一个字符串:
```python
plaintext = "Hello, World!"
key = 3
ciphertext = caesar_encrypt(plaintext, key)
print(ciphertext) # 输出:Khoor, Zruog!
```
这个例子中,我们将明文字符串`"Hello, World!"`加密成了密文字符串`"Khoor, Zruog!"`,密钥为3。
阅读全文