编写一个程序,进行密码的加密,要求加密的密码可以包含英文字母或数字。加密方式是将每位原密码的ASCII值加3返回新字母或数字,然后在新生成的每位密码前后各加一位随机生成的假密码,比如你输入5位数的密码,结果在每位密码的前后添加一位,输出的密码总共有十五位数
时间: 2024-02-16 14:04:18 浏览: 136
好的,我可以帮你编写一个简单的加密程序。以下是 Python 代码示例:
```python
import random
def encrypt(password):
# 生成假密码
fake_password = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=len(password)))
# 加密原密码
encrypted_password = ''.join(chr(ord(c) + 3) for c in password)
# 在每位密码前后添加假密码
result = ''
for i in range(len(password)):
result += fake_password[i] + encrypted_password[i] + fake_password[i]
return result + fake_password[len(password):]
# 测试
password = input('请输入要加密的密码:')
encrypted_password = encrypt(password)
print('加密后的密码为:', encrypted_password)
```
这个函数 `encrypt` 接收一个字符串作为参数,返回加密后的字符串。它的实现过程如下:
1. 生成与原密码长度相同的假密码 `fake_password`,这里使用了 `random.choices` 函数从字母和数字中随机选择生成。
2. 对原密码进行加密,即将每位字符的 ASCII 码值加上 3。
3. 在每位加密后的字符前后各添加一位假密码,生成最终的加密结果 `result`。
4. 最后将剩余的假密码添加到结果字符串的末尾。
注意,这个加密方法并不是很安全,只是一个简单的示例。实际上,密码加密需要采用更加复杂的算法和方法来保证安全性。
阅读全文