Python实现的文本简单可逆加密算法示例
本文介绍了一种使用Python实现的简单文本可逆加密算法。通过读取文件内容,将每个字符的ASCII码值加上一个用户指定的密码数值进行加密,解密时则执行相反操作。代码包含文件读写、异常处理及简单的交互界面,适用于初学者理解加密与解密的基本原理。
Python实现的文本简单可逆加密算法示例
- 加密方式是将文本每个字符通过某种方式改变
- 解密是加密的逆运算
- 中文编码问题可通过.encode和.decode处理
- 可通过Python切片操作处理文件名
- 加密方法仅对文本字符做+password处理
- 加的数过大会造成chr字节不够
- 该代码仅适用于新手练习
- 该代码不能作为真正的处理算法
# -*-coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
#加密
def jiami():
filename=raw_input('please input file:\n')
while True:
try:
password=int(raw_input('input number pass word:\n'))
break
except:
print 'please input number:\n'
fileword=open(filename,'r')
num=filename.rfind('.')
newfilename=filename[:num]+'[加密]'.encode('gbk')+filename[num:]
content=fileword.read(1)
newfileword=open(newfilename,'a+')
while len(content)>0:
contentInt=ord(content)
newContent=contentInt+password
c=chr(newContent)
newfileword.write(c)
content=fileword.read(1)
newfileword.close()
fileword.close()
#解密
def jiemi():
filename=raw_input('please input file:\n')
while True:
try:
password=int(raw_input('input number pass word:\n'))
break
except:
print 'please input number:\n'
fileword=open(filename,'r')
num=filename.rfind('.')
num2=filename.rfind('[')
newfilename=filename[:num2]+'[解密]'.encode('gbk')+filename[num:]
content=fileword.read(1)
newfileword=open(newfilename,'a+')
while len(content)>0:
contentInt=ord(content)
newContent=contentInt-password
c=chr(newContent)
newfileword.write(c)
content=fileword.read(1)
newfileword.close()
fileword.close()
while True:
index=int(raw_input('---请输入命令,1为加密 2为解密 3为退出---\n'.encode('gbk')))
if index==1:
jiami()
elif index==2:
jiemi()
elif index==3:
exit(0)
else:
pass
以上就是Python实现的文本简单可逆加密算法示例的详细内容,更多关于Python开发安全算法的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









