您好,登錄后才能下訂單哦!
本文主要探索的是python的Crypto模塊實(shí)現(xiàn)AES加密,分享了具體實(shí)現(xiàn)代碼,下面看看具體內(nèi)容。
學(xué)了使用Crypto模塊的AES來加密文件,現(xiàn)在記錄下來便于后邊兒查看。
在剛開始知道這個(gè)模塊的時(shí)候,連基本的Crypto模塊的安裝都花了很多很多時(shí)間來搞,也不知道什么情況反正是折騰很久了才安裝起的,記得是包安裝起來了,但使用的時(shí)候始終提示找不到Crypto.Cipher模塊。然后怎么解決的呢?
一、把我的python換成了64位的,本來電腦就是64位的也不知道之前是啥情況安裝成32位的了。(O(∩_∩)O哈哈~)
二、安裝了VCForPython27.msi
三、在cmd中執(zhí)行:
pip install pycrypto -i http://mirrors.aliyun.com/pypi/simple/
經(jīng)過上邊兒的幾個(gè)步驟,我是能夠成功執(zhí)行
from Crypto.Cipher import AES
現(xiàn)在上一個(gè)實(shí)例代碼:
# !/usr/bin/env python # coding: utf-8 ''' ''' from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class MyCrypt(): def __init__(self, key): self.key = key self.mode = AES.MODE_CBC def myencrypt(self, text): length = 16 count = len(text) print count if count < length: add = length - count text= text + ('\0' * add) elif count > length: add = (length -(count % length)) text= text + ('\0' * add) # print len(text) cryptor = AES.new(self.key, self.mode, b'0000000000000000') self.ciphertext = cryptor.encrypt(text) return b2a_hex(self.ciphertext) def mydecrypt(self, text): cryptor = AES.new(self.key, self.mode, b'0000000000000000') plain_text = cryptor.decrypt(a2b_hex(text)) return plain_text.rstrip('\0') if __name__ == '__main__': mycrypt = MyCrypt('abcdefghjklmnopq') e = mycrypt.myencrypt('hello,world!') d = mycrypt.mydecrypt(e) print e print d
在cmd中執(zhí)行結(jié)果:
總結(jié)
以上就是本文關(guān)于python的Crypto模塊實(shí)現(xiàn)AES加密實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。