编写一个程序,将个人的各种密码统一加密保存起来,要求加密的密码可以包含英文字母或数字。加密方式是将每位原密码的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所得到的原密码。 你可以使用这个程序来加密并保存你的各种密码。注意,这个程序不是一个真正意义上的安全加密算法,只是一个简单的实现凯撒密码的示例,建议不要将其用于真正的密码加密。

相关推荐

最新推荐

recommend-type

字母明文串转换为纯大写字母的加密串输出

编写一个程序,将一个包含大小写字母的纯字母明文串转换为纯大写字母的加密串输出。
recommend-type

基于Python的蓝桥杯竞赛平台的设计与实现

【作品名称】:基于Python的蓝桥杯竞赛平台的设计与实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于Python的蓝桥杯竞赛平台的设计与实现
recommend-type

python实现基于深度学习TensorFlow框架的花朵识别项目源码.zip

python实现基于深度学习TensorFlow框架的花朵识别项目源码.zip
recommend-type

3-9.py

3-9
recommend-type

郊狼优化算法COA MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用

郊狼优化算法COA MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。