溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python的Crypto模塊實(shí)現(xiàn)AES加密實(shí)例代碼

發(fā)布時(shí)間:2020-10-04 18:42:01 來源:腳本之家 閱讀:181 作者:werewolf_st 欄目:開發(fā)技術(shù)

本文主要探索的是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é)果:

python的Crypto模塊實(shí)現(xiàn)AES加密實(shí)例代碼

總結(jié)

以上就是本文關(guān)于python的Crypto模塊實(shí)現(xiàn)AES加密實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

向AI問一下細(xì)節(jié)

免責(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)容。

AI