#coding=utf8
from pyDes import *
import base64 class Crypt_Error():
pass """
des方法,des(处理后的秘钥,加密方式,位移向量,位移方式,填充方式)
""" def _get_key(key):
if not key:
key="U8y0R81k"
elif len(key)>8:
key=key[0:8]
elif len(key)<8:
raise Crypt_Error('秘钥长度不足八位,请检查秘钥')
return key def encrypt_data(data,key):
"""
加密
:return:
"""
k = des(_get_key(key), ECB, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = base64.encodestring(k.encrypt(data))
return ''.join(d.split('\n')[:-1]) def decrypt_data(data,key):
"""
解密
:param data:
:return:
"""
data = base64.decodestring(data)
k = des(_get_key(key), ECB, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
return k.decrypt(data, pad=None, padmode=PAD_PKCS5) # if __name__=='__main__':
# data = "123456"
# key= "e10adc3949ba59abbe56e057f20f88dd"
# b=encrypt_data(data,key)
#
# print b
# print decrypt_data(b,key)

  

des结合base64加解密的python源码的更多相关文章

  1. 对字符串进行base64加解密---基于python

    本文介绍Python 2.7中的base64模块,该模块提供了基于rfc3548的Base16, 32, 64编解码的接口.官方文档,参考这里. 当前接口基于rfc3548的Base16/32/64编 ...

  2. android中的MD5、Base64、DES/3DES/ADES加解密

    MD5摘要算法: <span style="font-size:18px;">主要代码: String s = edit.getText().toString(); i ...

  3. java base64加解密

    接上篇java Base64算法. 根据之前过程使用base64加解密,所以写成了工具类. 代码示例; public class Base64Util { private static Logger ...

  4. QuickBase64 - Android 下拉通知栏快捷base64加解密工具

    Android Quick Setting Tile Base64 Encode/Decode Tool Android 下拉通知栏快捷 base64 加解密,自动将剪切板的内容进行 base64 E ...

  5. python源码书籍

    <Python源码剖析>一书现在很难买到,目前大部分都是电子书. 为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Pytho ...

  6. [python 源码]字符串对象的实现

    还是带着问题上路吧,和整数对象的实现同样的问题: >>> a='abc' >>> b='abc' >>> a is b True >> ...

  7. [python]源码-对象的创建和行为

    (明天论文就要送审了!!!距离毕业一个月!!!) 现在还记得刚开始学python时候被这种动态语言惊到的那种感觉,列表和字典对象可以随意伸缩,简直不能更帅了,但是一直不知道内部到底是怎么实现的,pyt ...

  8. Python 源码剖析(一)【python对象】

    处于研究python内存释放问题,在阅读部分python源码,顺便记录下所得.(基于<python源码剖析>(v2.4.1)与 python源码(v2.7.6)) 先列下总结:      ...

  9. Python源码读后小结

    Python 笔记 前言(还是叫杂记吧) 在python中一切皆对象, python中的对象体系大致包含了"类型对象", "Mapping对象(dict)", ...

随机推荐

  1. Java NIO -- 管道 (Pipe)

    Java NIO 管道是2个线程之间的单向数据连接. Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 举个例子: package com.soyo ...

  2. 再次膜拜IE的超强兼容性

    今天用firefox和chrome打开几年前写的一个网页,突然发现复选框的“全选”功能失效了. 然后用ie试了一下,竟然正常. 到firefox的错误控制台查看,提示错误: TypeError: id ...

  3. echarts图表点击事件之跳转页面和加载页面

    下图显示四个条形图,点击条形图就跳转到其页面,这说明您要判断你点了那个条形图. echarts给了它点击事件 写法,我们只要模仿就行,代码如下: //echarts图表点击跳转 myChart.on( ...

  4. 鼠标监听事件MouseListener

    public class Demo extends JFrame { private JTextArea textArea; public Demo() { setBounds(100, 100, 4 ...

  5. 解决IIS8中 URLRewriter 不能使用的方法

    1.把应用程序池改成集成 2.的web.config 加入代码 <system.webServer> <validation validateIntegratedModeConfig ...

  6. (reverse) Text Reverse hdu1062

    Text Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  7. C# 同步工作站与SQL服务器的时间

    /// <summary> /// 设置本机时间 /// </summary> public class LocalTimeSync { [DllImport("Ke ...

  8. JS基本包装类型之三(String)

    1. 基本数据类型和基本包装类型 这里以字符串类型来讲解基本数据类型和基本包装类型. JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类 ...

  9. JS解析url

    window.location.href 整个url字符串 window.location.protocol url的协议部分 window.location.host url的主机部分 window ...

  10. jenkins ansible 附zabbix_agent批量安装示例

    插件:Ansible plugin 一.ansible ad-hoc command 二.ansible-playbook 批量部署zabbix-agent示例: playbook 目录及文件组成 [ ...