目录
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+char
else:
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("退出程序")
break
else:
pwdnew=change_password(pwd)
print("录入的密码是:",pwd," 密码加密后为:",pwdnew)
3.3 运行结果
在VS Code中直接运行,或者使用命令行窗口运行该python文件。
4、总结
密码加密就是通过对字符进行多次转换,进而实现正向加密,反向解密,即时他人的到了明文密码,没有反向解密的话也无法破解真正的密码