python实现无证书加密解密实例
本文实例讲述了python实现无证书加密解密的方法,分享给大家供大家参考。具体实现方法如下:
无证书加密就是双方不需要维护证书,加密与解密只需要双方约定一个key就可以,无证书加解密的方式应用更广泛一些,python官方也有这方面的相关例子说明,地址是:https://pypi.python.org/pypi/pycrypto,主要用的是fromCrypto.CipherimportAES这个模块,代码如下:
'''
/**
*AES加密字符串
*
*@paramstringdata加密的串
*@paramstringkey密钥(只能是16、24、32位)
*@paramstringiv16位长度向量
*@parambool编码格式(true:base64/false:十六进制)
*@returnstring加密后的结果
*/
'''
defencrypt_mode_cbc(data,key,iv='www.nhooo.com!!',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)
returnresult.encode('base64')ifbase64isTrueelseresult.encode('hex')
encrypt=encrypt_mode_cbc('hellogeekso','www.nhooo.com!!')
printencrypt
'''
/**
*AES解密字符串
*
*@paramstringencrypted待解密的串
*@paramstringkey密钥
*@paramstringiv16位长度向量
*@parambool编码(true:base64/false:十六进制)
*@returnstring解密后的结果orbool
*/
'''
defdecrypt_mode_cbc(encrypted,key,iv='www.nhooo.com!!',base64=True):
encrypted=encrypted.decode('base64')ifbase64isTrueelseencrypted.decode('hex')
ifencryptedisnot'':
obj=AES.new(key,AES.MODE_CBC,iv)
returnobj.decrypt(encrypted)
else:
returnFalse
printdecrypt_mode_cbc(encrypt,'www.nhooo.com!!') exit()
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短