由Python实现的简单可逆加密程序示例

电脑杂谈  发布时间:2020-06-27 16:01:23  来源:网络整理

加密u盘如何加密_cmd加密_加密 隐形云加密云盘

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 =键

加密u盘如何加密_cmd加密_加密 隐形云加密云盘

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 = []

加密u盘如何加密_cmd加密_加密 隐形云加密云盘

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):

cmd加密_加密u盘如何加密_加密 隐形云加密云盘

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 -p

-k -t “”“

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] = []

休息

cmd加密_加密u盘如何加密_加密 隐形云加密云盘

其他:

#添加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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 李適之
        李適之

        而不是再揣测他派了条老船

      热点图片
      拼命载入中...