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 RSA加密的示例

    python RSA加密的示例

    这篇文章主要介绍了python RSA加密的示例,帮助大家更好的理解和使用加密算法,感兴趣的朋友可以了解下
    2020-12-12
  • python3代码输出嵌套式对象实例详解

    python3代码输出嵌套式对象实例详解

    在本篇文章里小编给大家整理了关于python3代码输出嵌套式对象实例详解内容,有兴趣的朋友们可以学习下。
    2020-12-12
  • Python办公自动化批量处理文件实现示例

    Python办公自动化批量处理文件实现示例

    这篇文章主要为大家介绍了Python办公自动化批量处理文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 浅析Python面向对象编程

    浅析Python面向对象编程

    这篇文章主要介绍了Python面向对象编程的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Python3中map(),reduce(),filter()的详细用法

    Python3中map(),reduce(),filter()的详细用法

    这篇文章主要介绍了Python3中map(),reduce(),filter()的详细用法,Python3中的map()、reduce()、filter() 这3个一般是用于对序列进行操作的内置函数,它们经常需要与 匿名函数 lambda 联合起来使用
    2022-08-08
  • 利用Python裁切tiff图像且读取tiff,shp文件的实例

    利用Python裁切tiff图像且读取tiff,shp文件的实例

    这篇文章主要介绍了利用Python裁切tiff图像且读取tiff,shp文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python中的load、loads实现反序列化示列

    python中的load、loads实现反序列化示列

    这篇文章主要介绍python中的load、loads实现反序列化,在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型,下面来看详情内容吧
    2021-10-10
  • python pandas模块进行数据分析

    python pandas模块进行数据分析

    Python的Pandas模块是一个强大的数据处理工具,可以用来读取、处理和分析各种数据,本文主要介绍了python pandas模块进行数据分析,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Python爬虫之使用MongoDB存储数据的实现

    Python爬虫之使用MongoDB存储数据的实现

    本文主要介绍了Python爬虫之使用MongoDB存储数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Python count()函数用法详解

    Python count()函数用法详解

    这篇文章主要给大家介绍了关于Python count()函数用法的相关资料,Python count()方法用于统计字符串里某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置,需要的朋友可以参考下
    2024-02-02

最新评论