• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python实现简单的可逆加密程序实例

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python程序实例,python3程序实例,python小程序实例,python实例,python脚本实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Python实现简单的可逆加密程序。分享给大家供大家参考。具体如下:

Python代码如下:
''''' 
    Description: 可逆的加密与解密 
    Environment: python2.5.x 
    Author:idehong@gmail.com 
'''
import os  
import sys  
class Code(object):  
    '''''可逆的加密与解密'''
    def __init__(self, key = "idehong@gmail.com"):  
        self.__src_key = key  
        self.__key = self.__get_strascii(self.__src_key, True)  
    def encode(self, value):  
        '''''加密函数, 加密后为一串数字'''
        return  "%d" % (self.__get_strascii(value, True) ^ self.__key)  
    def decode(self, pwd):  
        '''''解密函数'''
        if self.is_number(pwd):  
            return self.__get_strascii( (int(pwd)) ^ self.__key, False )  
        else:  
            print 'require number.'
    def reset_key(self, key):  
        '''''重新设置key'''
        self.__src_key = key  
        self.__key = self.__get_strascii(self.__src_key, True)  
#===============================================================================  
#        内部调用接口  
#===============================================================================  
    def __get_strascii(self, value, bFlag):  
        if bFlag:  
            return self.__get_str2ascii(value)   
        else:  
            return self.__get_ascii2str(value)  
    def __get_str2ascii(self, value):  
        ls = []  
        for i in value:  
            ls.append( self.__get_char2ascii( i ) )  
        return long("".join(ls))  
    def __get_char2ascii(self, char):  
        '''''获取单个字符的acsii码值'''
        try:  
            return "%03.d" % ord(char)  
        except (TypeError, ValueError):  
            print "key error."
            exit(1)  
    def __get_ascii2char(self, ascii):  
        if self.is_ascii_range(ascii):  
            return chr(ascii)  
        else:  
            print "ascii error(%d)" % ascii  
            exit(1)         
    def __get_ascii2str(self, n_chars):  
        ls = []  
        s = "%s" % n_chars  
        n, p = divmod(len(s), 3)  
        if p > 0:  
            nRet = int(s[0 : p])  
            ls.append( self.__get_ascii2char(nRet))  
        pTmp = p  
        while pTmp < len(s):  
            ls.append( self.__get_ascii2char( int(s[pTmp: pTmp + 3])) )
            pTmp += 3
        return "".join(ls)  
#================================================================================  
#        工具接口  
#================================================================================  
    def is_number(self, value):  
        try:  
            int(value)  
            return True
        except (TypeError, ValueError):  
            pass
        return False
    def is_ascii_range(self, n):  
        return 0 <= n < 256
    def is_custom_ascii_range(self, n):  
        return 33 <= n <48 or 58 <= n < 126        
class Usage(object):  
    ''''' 
    命令行参数读取与解析 
    '''
    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,

您可能想查找下面的文章:

  • Python使用PDFMiner解析PDF代码实例
  • Python使用PDFMiner解析PDF代码实例
  • 利用python程序生成word和PDF文档的方法
  • 利用python程序帮大家清理windows垃圾
  • 实例解析Python设计模式编程之桥接模式的运用
  • Python聊天室实例程序分享
  • python插入排序算法实例分析
  • python选择排序算法实例总结
  • python实现的用于搜索文件并进行内容替换的类实例
  • python实现的简单RPG游戏流程实例

相关文章

  • pygame学习笔记(6):完成一个简单的游戏
  • python查询sqlite数据表的方法
  • Windows下Eclipse+PyDev配置Python+PyQt4开发环境
  • python&MongoDB爬取图书馆借阅记录
  • python常规方法实现数组的全排列
  • java直接调用python脚本的例子
  • Python中的默认参数详解
  • 如何使用七牛Python SDK写一个同步脚本及使用教程
  • python操作CouchDB的方法
  • python 网络爬虫初级实现代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python通过get,post方式发送http请求和接收http响应的方法
    • python实现的AES双向对称加密解密与用法分析
    • python通过imaplib模块读取gmail里邮件的方法
    • Python的Bottle框架中实现最基本的get和post的方法的教程
    • Python自动化测试Eclipse+Pydev 搭建开发环境
    • python读取注册表中值的方法
    • Python实现3行代码解简单的一元一次方程
    • python继承和抽象类的实现方法
    • python中os操作文件及文件路径实例汇总
    • Python功能键的读取方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有