编写一个程序,将个人的各种密码统一加密保存起来,要求加密的密码可以包含英文字母或数字。加密方式是将每位原密码的ASCII值加3返回新字母或数字,然后在新生成的每位密码前后各加一位随机生成的假密码
时间: 2024-02-25 19:55:45 浏览: 18
好的,以下是一个简单的实现凯撒密码的Python程序,可以满足你的要求:
```python
import random
def encrypt_password(password):
# 生成随机假密码
fake_password = ''.join([chr(random.randint(33, 126)) for _ in range(2)])
# 将每位原密码的ASCII值加3并返回新密码
new_password = ''.join([chr(ord(c) + 3) for c in password])
# 在新密码前后各加一位随机生成的假密码
encrypted_password = fake_password + new_password + fake_password
return encrypted_password
def decrypt_password(encrypted_password):
# 去除前后的假密码
password = encrypted_password[2:-2]
# 将每位加密后的ASCII值减3并返回原密码
return ''.join([chr(ord(c) - 3) for c in password])
# 测试加密和解密函数
password = 'my_password123'
encrypted_password = encrypt_password(password)
decrypted_password = decrypt_password(encrypted_password)
print(f'原始密码:{password}')
print(f'加密后的密码:{encrypted_password}')
print(f'解密后的密码:{decrypted_password}')
```
程序中使用了`encrypt_password`函数来加密密码,其中:
- `fake_password`是两位随机生成的假密码,使用了Python中的`random`模块来生成;
- `new_password`是将原密码中每位字符的ASCII值加3所得到的新密码;
- `encrypted_password`是在新密码前后各加上一位随机生成的假密码所得到的加密后的密码。
程序中还使用了`decrypt_password`函数来解密密码,其中:
- `password`是去除前后的假密码所得到的加密后的密码;
- `decrypted_password`是将加密后的密码中每位字符的ASCII值减3所得到的原密码。
你可以使用这个程序来加密并保存你的各种密码。注意,这个程序不是一个真正意义上的安全加密算法,只是一个简单的实现凯撒密码的示例,建议不要将其用于真正的密码加密。