python实现无证书加密解密实例

 更新时间:2014年10月27日 14:33:20   投稿:shichen2014  
这篇文章主要介绍了python实现无证书加密解密的方法,实例讲述了无证书加密解密的原理与具体实现过程,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了python实现无证书加密解密的方法,分享给大家供大家参考。具体实现方法如下:

无证书加密就是双方不需要维护证书,加密与解密只需要双方约定一个key就可以,无证书加解密的方式应用更广泛一些,python官方也有这方面的相关例子说明,地址是:https://pypi.python.org/pypi/pycrypto,主要用的是from Crypto.Cipher import AES这个模块,代码如下:

复制代码 代码如下:
'''
/**
* AES加密字符串
*
* @param string data 加密的串
* @param string key 密钥(只能是16、24、32位)
* @param string iv 16位长度向量
* @param bool 编码格式(true:base64 / false:十六进制)
* @return string 加密后的结果
*/
'''
def encrypt_mode_cbc(data, key, iv = 'www.jb51.net!!', base64 = True):
lenth = len(data)
num = lenth % 16
data = data.ljust(lenth + 16 - num)
obj = AES.new(key, AES.MODE_CBC, iv)
result = obj.encrypt(data)
return result.encode('base64') if base64 is True else result.encode('hex')
encrypt = encrypt_mode_cbc('hello geekso', 'www.jb51.net!!')
print encrypt
'''
/**
* AES解密字符串
*
* @param string encrypted 待解密的串
* @param string key 密钥
* @param string iv 16位长度向量
* @param bool 编码(true:base64 / false:十六进制)
* @return string 解密后的结果 or bool
*/
'''
def decrypt_mode_cbc(encrypted, key, iv = 'www.jb51.net!!', base64 = True):
encrypted = encrypted.decode('base64') if base64 is True else encrypted.decode('hex')
if encrypted is not '':
obj = AES.new(key, AES.MODE_CBC, iv)
return obj.decrypt(encrypted)
else:
return False

print decrypt_mode_cbc(encrypt,'www.jb51.net!!')
exit()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • Python中Numba库装饰器的具体使用

    Python中Numba库装饰器的具体使用

    Numba是一个针对Python的开源JIT编译器,使用Numba非常方便,只需要在Python原生函数上增加一个装饰器,本文主要介绍了Python中Numba库装饰器的具体使用,感兴趣的可以了解一下
    2024-01-01
  • Python Selenium截图功能实现代码

    Python Selenium截图功能实现代码

    这篇文章主要介绍了Python Selenium截图功能实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python通过zookeeper实现分布式服务代码解析

    Python通过zookeeper实现分布式服务代码解析

    这篇文章主要介绍了Python通过zookeeper实现分布式服务代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python深度学习tensorflow1.0参数初始化initializer

    python深度学习tensorflow1.0参数初始化initializer

    这篇文章主要为大家介绍了python深度学习tensorflow1.0参数初始化initializer示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 简单介绍Python中用于求最小值的min()方法

    简单介绍Python中用于求最小值的min()方法

    这篇文章主要介绍了简单介绍Python中用于求最小值的min()方法,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python  pip安装lxml出错的问题解决办法

    Python pip安装lxml出错的问题解决办法

    这篇文章主要介绍了Python pip安装lxml出错的问题解决办法的相关资料,需要的朋友可以参考下
    2017-02-02
  • Python爬取某平台短视频的方法

    Python爬取某平台短视频的方法

    这篇文章主要介绍了Python爬取某平台短视频的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())

    matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())

    这篇文章主要介绍了matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python get获取页面cookie代码实例

    Python get获取页面cookie代码实例

    利用Python get获取页面cookie代码实例,简单易懂
    2018-09-09
  • Matplotlib绘图基础之配置参数详解

    Matplotlib绘图基础之配置参数详解

    Matplotlib 提供了大量配置参数,这些参数可以但不限于让我们从整体上调整通过 Matplotlib 绘制的图形样式,下面我们就来看看如何巧妙的运用这些参数吧
    2023-08-08

最新评论