python 文字簡單可逆加密

2021-07-24 21:01:27 字數 2078 閱讀 5202

其實很簡單,就是把一段文字每個字元都通過某種方式改變(比如加1)

這樣就實現了文字的加密操作,解密就是其逆運算

# -*-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

注意:

①如果出現中文編碼問題可以通過.encode,.decode編碼解碼

②可以通過python的切片操作處理檔名,很方便,例如: newfilename=filename[:num]+'[加密]'.encode('gbk')+filename[num:]

③最重要的!!本加密方法只是簡單的給文字字元做乙個+password處理,其方法非常不合理,因為加的數如果過大會造成chr位元組不夠(比如你輸乙個1000)

所以本**只適用於新手練習,而不能作為真正的處理演算法

C 可逆加密類

using system using system.collections.generic using system.linq using system.text using system.io using system.security.cryptography namespace fromarg...

PHP可逆加密解密演算法

對於大部分密碼加密,我們可以採用md5 sha1等方法。可以有效防止資料洩露,但是這些方法僅適用於無需還原的資料加密。對於需要還原的資訊,則需要採用可逆的加密解密演算法。下面一組php函式是實現此加密解密的方法 加密演算法如下 php function encrypt data,key char k...

Java 實現可逆加密解密

public class cryptoutil 獲得key private static key obtainkey string key keygenerator generator null try catch nosuchalgorithmexception e securerandom ra...