希尔密码加密python
时间: 2023-07-28 13:24:18 浏览: 59
以下是一个简单的 Python 实现希尔密码加密算法:
```python
def encrypt(message, key):
cipher = ""
key_len = len(key)
message_len = len(message)
for i in range(message_len):
# 获取当前字符在字母表中对应的数字
char_num = ord(message[i]) - 65
key_num = ord(key[i % key_len]) - 65
# 加密过程
cipher_num = (char_num + key_num) % 26
cipher += chr(cipher_num + 65)
return cipher
```
使用方法:
```python
message = "HELLO"
key = "WORLD"
cipher = encrypt(message, key)
print("原始消息:", message)
print("密钥:", key)
print("加密后的消息:", cipher)
```
输出:
```
原始消息: HELLO
密钥: WORLD
加密后的消息: DQPTV
```
注意:该实现中假设明文只包含大写字母,且密钥长度不小于明文长度。在实际应用中需要根据需要进行修改。
相关问题
用python实现一个希尔密码加密的代码
好的,下面是一个简单的 Python 实现希尔密码加密的代码:
```python
def encrypt(message, key):
encrypted = ""
key_len = len(key)
msg_len = len(message)
for i in range(msg_len):
char = message[i]
key_char = key[i % key_len]
shift = ord(key_char) - 65
encrypted += chr((ord(char) + shift) % 26 + 65)
return encrypted
# 测试
message = "HELLO WORLD"
key = "PYTHON"
encrypted = encrypt(message, key)
print("Encrypted Message:", encrypted)
```
这个代码实现了使用给定的密钥对消息进行希尔密码加密的功能。在这个例子中,我们使用了一个简单的算法将密钥的字符转换为数字,然后将其用于对每个字符进行加密。
用python实现希尔密码加密,自行输入明文密钥
好的,下面是一个实现希尔密码加密的 Python 代码,可以让用户自行输入明文和密钥:
```python
def encrypt(message, key):
encrypted = ""
key_len = len(key)
msg_len = len(message)
for i in range(msg_len):
char = message[i]
key_char = key[i % key_len]
shift = ord(key_char) - 65
encrypted += chr((ord(char) + shift) % 26 + 65)
return encrypted
# 获取用户输入
message = input("请输入需要加密的明文:").upper()
key = input("请输入密钥:").upper()
# 加密并输出结果
encrypted = encrypt(message, key)
print("密文为:", encrypted)
```
在这个代码中,我们使用了 `input()` 函数来获取用户输入的明文和密钥,然后将它们传递给 `encrypt()` 函数进行加密。最后,我们将加密后的结果输出给用户。需要注意的是,为了方便起见,我们将用户输入的明文和密钥都转换为大写字母。