手机
当前位置:查字典教程网 >脚本专栏 >python >python实现无证书加密解密实例
python实现无证书加密解密实例
摘要:本文实例讲述了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实现无证书加密解密实例】相关文章:

python动态监控日志内容的示例

python字典多条件排序方法实例

python文件和目录操作方法大全(含实例)

python实现数通设备端口监控示例

Python实现端口复用实例代码

基于Python实现的扫雷游戏实例代码

Python设计模式之观察者模式实例

python实现360皮肤按钮控件示例

python 合并文件的具体实例

python实现socket客户端和服务端简单示例

精品推荐
分类导航