python實(shí)現(xiàn)無證書加密解密實(shí)例
本文實(shí)例講述了python實(shí)現(xiàn)無證書加密解密的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
無證書加密就是雙方不需要維護(hù)證書,加密與解密只需要雙方約定一個(gè)key就可以,無證書加解密的方式應(yīng)用更廣泛一些,python官方也有這方面的相關(guān)例子說明,地址是:https://pypi.python.org/pypi/pycrypto,主要用的是from Crypto.Cipher import AES這個(gè)模塊,代碼如下:
/**
* AES加密字符串
*
* @param string data 加密的串
* @param string key 密鑰(只能是16、24、32位)
* @param string iv 16位長度向量
* @param bool 編碼格式(true:base64 / false:十六進(jìn)制)
* @return string 加密后的結(jié)果
*/
'''
def encrypt_mode_cbc(data, key, iv = 'chabaoo.cn!!', 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', 'chabaoo.cn!!')
print encrypt
'''
/**
* AES解密字符串
*
* @param string encrypted 待解密的串
* @param string key 密鑰
* @param string iv 16位長度向量
* @param bool 編碼(true:base64 / false:十六進(jìn)制)
* @return string 解密后的結(jié)果 or bool
*/
'''
def decrypt_mode_cbc(encrypted, key, iv = 'chabaoo.cn!!', 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,'chabaoo.cn!!')
exit()
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python實(shí)現(xiàn)人臉簽到系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人臉簽到系統(tǒng),帶數(shù)據(jù)庫存儲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
python3中編碼獲取網(wǎng)頁的實(shí)例方法
在本篇文章里小編給大家整理了一篇關(guān)于python3中編碼獲取網(wǎng)頁的實(shí)例方法,有興趣的朋友們可以學(xué)習(xí)下。2020-11-11
python使用TensorFlow進(jìn)行圖像處理的方法
本篇文章主要介紹了使用TensorFlow進(jìn)行圖像處理的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
Python爬蟲小技巧之偽造隨機(jī)的User-Agent
這篇文章主要給大家介紹了關(guān)于Python爬蟲小技巧之偽造隨機(jī)的User-Agent的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
Python?matplotlib繪制散點(diǎn)圖配置(萬能模板案例)
這篇文章主要介紹了Python?matplotlib繪制散點(diǎn)圖配置(萬能模板案例),散點(diǎn)圖是指在??回歸分析???中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的?分布圖???,散點(diǎn)圖表示因變量隨??自變量???而?變化???的大致趨勢,據(jù)此可以選擇合適的函數(shù)??對數(shù)???據(jù)點(diǎn)進(jìn)行?擬合2022-07-07
Python基于Google?Bard實(shí)現(xiàn)交互式聊天機(jī)器人
這篇文章主要為大家介紹了Python基于Google?Bard實(shí)現(xiàn)交互式聊天機(jī)器人示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

