目录
1、认识Python
2、环境与工具
2.1 python环境
2.2 Visual Studio Code编译
3、对输入的字符加密
3.1 代码构思
3.2 代码示例
3.3 运行结果
4、总结
1、认识Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。
2、环境与工具
2.1 python环境
在Windows上使用命令行窗口查看所安装的python版本
python
2.2 Visual Studio Code编译
Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。
3、对输入的字符加密
3.1 代码构思
passwd用于指定特定的转换对象。
change_txt用于将密码转为小写,遍历每个字符,查找其在str1中的位置并将其替换为str2中对应位置的字符。
change_password用于首先调用 passwd
对密码进行第一次转换,再调用 change_txt
对密码进行第二次转换。
主程序根据指定的规则对输入的密码进行转换和加密。
3.2 代码示例
def passwd(pwd):vret=[]for char in pwd:if char in 'abcde':char='?'elif char in 'ghi':char='#'elif char in 'mnp':char='+'elif char in 'Z':char = '%'elif char.isupper():
#大写转小写,然后往后移一位,即大写转换车后一个字母的小写char=chr(ord(char.lower())+1)vret.append(char)return ''.join(vret)
def change_txt(pwd,str1,str2):vret=''pwd=pwd.lower()for char in pwd:j=str1.find(char)if j==-1:vret=vret+charelse:vret=vret+str2[j]return vret
#加密程序
def change_password(pwd):if pwd==None:return '-1'vret=''vpre=passwd(pwd)vlen=len(pwd)vstr=change_txt(pwd,'1234567890abcdefghijklimnopqrstuvwxyz','abcdefghijklimnopqrstuvwxyz1234567890')if vlen <= 8:vret=vpre+vstr[0:vlen]else:vret=vpre+vstr[0:8]return vret
if __name__ == '__main__':while True:pwd=input('请输入密码')if pwd == 'q':print("退出程序")breakelse:pwdnew=change_password(pwd)print("录入的密码是:",pwd," 密码加密后为:",pwdnew)
3.3 运行结果
在VS Code中直接运行,或者使用命令行窗口运行该python文件。
4、总结
密码加密就是通过对字符进行多次转换,进而实现正向加密,反向解密,即时他人的到了明文密码,没有反向解密的话也无法破解真正的密码