
Script House收集的这篇文章主要介绍了Python实现的简单可逆加密程序的示例. Script House的编辑认为这非常好. 现在,我将与您分享并提供参考.
本文介绍了由Python实现的简单可逆加密程序. 与您分享以供参考. 详细信息如下:
Python代码如下:
复制代码,代码如下:
#coding = utf-8
'''''
说明: 可逆加密和解密
环境: python2.5.x
作者: idehong@gmail.com
'''
导入操作系统
导入系统
类代码(对象):
'''''可逆加密和解密'''
def __init __(self,key =“ idehong@gmail.com”):
self .__ src_key =键
self .__ key = self .__ get_strascii(self .__ src_key,True)
def编码(self,value):
'''''加密功能,加密后的数字字符串'''
返回“%d”%(self .__ get_strascii(value,True)^ self .__ key)
def解码(self,pwd):
'''''''解密功能'''
如果self.is_number(pwd):
返回self .__ get_strascii((int(pwd))^ self .__ key,False)
其他:
打印“要求号码”.
def reset_key(selfcmd加密,key):
'''''重置键'''
self .__ src_key =键

self .__ key = self .__ get_strascii(self .__ src_key,True)
#=============================================== ==== ===============================
#内部呼叫接口
#=============================================== ==== ===============================
def __get_strascii(self,valuecmd加密,bFlag):
如果bFlag:
返回自我. __get_str2ascii(value)
其他:
返回自我. __get_ascii2str(value)
def __get_str2ascii(self,value):
ls = []
我的价值:
ls.append(self .__ get_char2ascii(i))
返回long(“”. join(ls))
def __get_char2ascii(self,char):
''''''获取单个字符的acsii代码值'''
尝试:
返回“ .d”%ord(char)
(TypeError,ValueError)除外:
打印“密钥错误”.
退出(1)
def __get_ascii2char(self,ascii):
如果self.is_ascii_range(ascii):
返回chr(ascii)
其他:
打印“ ascii错误(%d)”%ascii
退出(1)
def __get_ascii2str(self,n_chars):
ls = []

s =“%s”%n_chars
n,p = divmod(len(s),3)
如果p> 0:
nRet = int(s [0: p])
ls.append(self .__ get_ascii2char(nRet))
pTmp = p
而pTmp ls.append(self .__ get_ascii2char(int(s [pTmp: pTmp + 3]))) pTmp + = 3 返回“” .join(ls) #=============================================== ==== ================================ #工具界面 #=============================================== ==== ================================ def is_number(self,value): 尝试: int(值) 返回True (TypeError,ValueError)除外: 通过 返回错误 def is_ascii_range(self,n): 返回0 <= n <256 def is_custom_ascii_range(self,n): 返回33 <= n <48或58 <= n <126 类用法(对象): ''''' 读取和解析命令行参数 ''' def __init __(self): self._clsWork = Code() self._args_dic = {'arg_help': ['-?','-help'], 'arg_p': ['-p','-pwd'], 'arg_t': ['-t','-text'], 'arg_k': ['-k','-key'], } def help(self,* k): strHelp =“用法: pwd [-options] [args ...]其中选项包括: ” strHelp + =“”“ -? -help打印此帮助消息 -k -k print strHelp def args(self,argv_ls): '''''''调度命令''' #打印argv_ls 如果len(argv_ls)<= 1或len(argv_ls)> 5: 打印“无法识别的选项” 返回 cmd_dic = {} curr_cmd ='' #控制命令 用于枚举的i,v(argv_ls [1: ]): 对于self._args_dic.items()中的j: #添加命令 如果v在j [1]和j [0]中不在cmd_dic中: curr_cmd = j [0] cmd_dic [curr_cmd] = [] 休息 其他: #添加argv 如果cmd_dic: cmd_dic [curr_cmd] .append(v) #exec命令 如果cmd_dic: self.exec_cmd(cmd_dic) 其他: 打印“无法识别的选项” def exec_cmd(self,cmd_dic): '''''exec cmd''' 如果len(cmd_dic)== 2: 如果cmd_dic中为“ arg_p”,而cmd_dic中为“ arg_k” \ 和len(cmd_dic ['arg_p'])== 1和len(cmd_dic ['arg_k'])== 1: self._clsWork.reset_key(cmd_dic ['arg_k'] [0]) 打印self._clsWork.encode(cmd_dic ['arg_p'] [0]) 返回 cmd_dic中的elif'arg_t'和cmd_dic中的'arg_k'\ 和len(cmd_dic ['arg_t'])== 1和len(cmd_dic ['arg_k'])== 1: self._clsWork.reset_key(cmd_dic ['arg_k'] [0]) 打印self._clsWork.decode(cmd_dic ['arg_t'] [0]) 返回 self.help() 如果__name__ =='__ main __': 用法=用法() usage.args(sys.argv) 我希望本文对每个人的Python编程都有帮助. 以上是Python Home为您实现的简单可逆加密程序示例的全部内容. 我希望本文能帮助您解决Python的简单可逆加密程序示例遇到的程序开发问题. 如果您认为Script House网站的内容还不错,欢迎向程序员朋友推荐Script House网站.

本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-260428-1.html
而不是再揣测他派了条老船