日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python:AES加解密

系統 2469 0
            
              from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
 
 
class AES_enc():
    def __init__(self, key, iv):
        self.block_size = AES.block_size  #設置block_size的大小為16字節,也就是128位
        self.key = key
        self.iv = iv
        self.mode = AES.MODE_CBC     #采用CBC模式
        #加密時自動補全16位,填充內容是“16-len(s)”對應的ascii字符
        self.padding_chr = lambda s: s + (self.block_size - len(s) % self.block_size) * chr(self.block_size - len(s) % self.block_size)
        #解密時反向剪裁補充字符
        self.unpadding_chr = lambda s: s[0:-ord(s[-1])]
 
    #加密
    def encrypt(self, text):
        cryptor = AES.new(self.key, self.mode, self.iv)
        text = self.padding_chr(text)
        ciphertext = cryptor.encrypt(text)
        #把加密后的字符串轉化為16進制字符串 ,也可以轉換為base64加密的內容,使用b2a_base64(ciphertext)或者base64.urlsafe_b64decode(ciphertext)
        return b2a_hex(ciphertext).decode("utf-8")
 
    # 解密
    def decrypt(self, text):
        cryptor = AES.new(self.key, self.mode, self.iv)
        plain_text = cryptor.decrypt(a2b_hex(text)).decode("utf-8")
        return self.unpadding_chr(plain_text)
            
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 武威市| 新闻| 都匀市| 靖州| 高邮市| 岳西县| 宁都县| 沾化县| 万载县| 土默特右旗| 广平县| 威信县| 徐州市| 青海省| 平阳县| 读书| 开阳县| 尚志市| 资中县| 吉林省| 新绛县| 建德市| 达尔| 巍山| 安化县| 察隅县| 临安市| 武川县| 荣成市| 古蔺县| 平乐县| 罗山县| 米易县| 冕宁县| 南雄市| 双鸭山市| 长白| 龙岩市| 汾西县| 崇信县| 安新县|