最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享一個(gè)python的aes加密代碼

 更新時(shí)間:2020年12月22日 16:26:26   作者:零零幺  
這篇文章主要介紹了分享一個(gè)python的aes加密代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下

高級(jí)加密標(biāo)準(zhǔn)(英語(yǔ):Advanced Encryption Standard,縮寫(xiě):AES),在密碼學(xué)中又稱Rijndael加密法,是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過(guò)五年的甄選流程,高級(jí)加密標(biāo)準(zhǔn)由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級(jí)加密標(biāo)準(zhǔn)已然成為對(duì)稱密鑰加密中最流行的算法之一。---百度百科

本科的時(shí)候弄過(guò)DES加密算法加密計(jì)算機(jī)文件,而DES加密算法現(xiàn)在基本處于被廢棄的狀態(tài),所以現(xiàn)在想試試更高級(jí)一點(diǎn)的。

DES加密算法可發(fā)展為3DES加密算法,后來(lái)又被升級(jí)為AES加密算法,加長(zhǎng)了密鑰長(zhǎng)度,也就增加了暴力破解的難度。

本次使用Python進(jìn)行AES的加密解密

import hashlib
from Crypto.Cipher import AES
import base64

class prpcrypt():
 def __init__(self,key):
  self.key = key # 因?yàn)樵趐ython3中AES傳入?yún)?shù)的參數(shù)類型存在問(wèn)題,需要更換為 bytearray , 所以使用encode編碼格式將其轉(zhuǎn)為字節(jié)格式(linux系統(tǒng)可不用指定編碼)
  IV = 16 * '\x00'
  self.iv=IV.encode("utf-8")
  self.mode = AES.MODE_CBC
  self.BS = AES.block_size
  self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
  self.unpad = lambda s: s[0:-ord(s[-1])]

 # 加密
 def encrypt(self, text):
  text = self.pad(text).encode("utf-8")
  cryptor = AES.new(self.key, self.mode, self.iv)
  # 目前AES-128 足夠目前使用(CBC加密)
  ciphertext = cryptor.encrypt(text)
  # base64加密
  return base64.b64encode(bytes(ciphertext))

 # 解密
 def decrypt(self, text):
  # base64解密
  text = base64.b64decode(text)
  cryptor = AES.new(self.key, self.mode, self.iv)
  # CBC解密
  plain_text = cryptor.decrypt(text)
  # 去掉補(bǔ)足的空格用strip() 去掉
  return self.unpad(bytes.decode(plain_text).rstrip('\0')) # 解密字節(jié)???


def gen_binsha(data):
 shavalue = hashlib.sha256()
 shavalue.update(data)
 return shavalue.digest()

if __name__ == '__main__':
 key='78f40cecf89'
 key=gen_binsha(key.encode('utf-8'))
 pc = prpcrypt(key=key) # 初始化密鑰 和 iv

 text='qwerqwerkkk12345'
 e = pc.encrypt(text) # 加密
 d = pc.decrypt(e) # 解密
 print("加密:%s" % e)
 print("解密:%s"% d)
 print("長(zhǎng)度:%s"% len(d))

以上就是分享一個(gè)python的aes加密代碼的詳細(xì)內(nèi)容,更多關(guān)于python的aes加密代碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pytorch中torch.argmax()函數(shù)使用及說(shuō)明

    Pytorch中torch.argmax()函數(shù)使用及說(shuō)明

    這篇文章主要介紹了Pytorch中torch.argmax()函數(shù)使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python使用Selenium模擬瀏覽器自動(dòng)操作功能

    Python使用Selenium模擬瀏覽器自動(dòng)操作功能

    這篇文章主要介紹了Python使用Selenium模擬瀏覽器自動(dòng)操作功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配

    Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配

    OpenCV 是一個(gè)的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在 Linux、Windows 和 Mac OS 操作系統(tǒng)上,這篇文章主要給大家介紹了關(guān)于Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • python基于turtle繪制幾何圖形

    python基于turtle繪制幾何圖形

    turtle又稱為海龜繪圖,是Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所創(chuàng)造的 Logo 編程語(yǔ)言的python實(shí)現(xiàn)。turtle是基于tkinter圖形界面設(shè)計(jì)的。
    2021-06-06
  • 利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Web匯率計(jì)算器

    利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Web匯率計(jì)算器

    Dash?是一個(gè)用于構(gòu)建基于?Web?的應(yīng)用程序的?Python?庫(kù),無(wú)需?JavaScript?。本文將利用Dash編寫(xiě)一個(gè)簡(jiǎn)單的Web匯率計(jì)算器,感興趣的可以了解一下
    2022-08-08
  • 8段用于數(shù)據(jù)清洗Python代碼(小結(jié))

    8段用于數(shù)據(jù)清洗Python代碼(小結(jié))

    這篇文章主要介紹了8段用于數(shù)據(jù)清洗Python代碼(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python 制作子彈圖

    Python 制作子彈圖

    這篇文章主要介紹了Python 制作子彈圖,眾所周知,Python 的應(yīng)用是非常廣泛的,今天我們就通過(guò) matplotlib 庫(kù)學(xué)習(xí)下如何制作精美的子彈圖,需要的朋友可以參考一下
    2021-12-12
  • python神經(jīng)網(wǎng)絡(luò)Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練

    python神經(jīng)網(wǎng)絡(luò)Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Mac下python包管理工具pip的安裝

    Mac下python包管理工具pip的安裝

    這篇文章介紹了Mac下python包管理工具pip的安裝方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • pandas group分組與agg聚合的實(shí)例

    pandas group分組與agg聚合的實(shí)例

    這篇文章主要介紹了pandas group分組與agg聚合的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論

西安市| 阳新县| 黄龙县| 和林格尔县| 华阴市| 秦安县| 遵化市| 克拉玛依市| 界首市| 海兴县| 荣成市| 阿图什市| 永兴县| 全州县| 沽源县| 东乡族自治县| 鹤峰县| 嵩明县| 和平区| 富川| 枣强县| 神池县| 华蓥市| 休宁县| 雷波县| 平泉县| 临湘市| 齐齐哈尔市| 安庆市| 临洮县| 定边县| 资溪县| 尚志市| 壶关县| 常宁市| 清河县| 三亚市| 江阴市| 云南省| 章丘市| 磐安县|