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

Python:AES加解密

系統(tǒng) 2364 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  #設(shè)置block_size的大小為16字節(jié),也就是128位
        self.key = key
        self.iv = iv
        self.mode = AES.MODE_CBC     #采用CBC模式
        #加密時自動補全16位,填充內(nèi)容是“16-len(s)”對應(yīng)的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)
        #把加密后的字符串轉(zhuǎn)化為16進制字符串 ,也可以轉(zhuǎn)換為base64加密的內(nèi)容,使用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)
            
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 金门县| 广宁县| 金塔县| 喀喇| 蓬莱市| 巴林左旗| 丹凤县| 霍山县| 彩票| 隆昌县| 张北县| 富顺县| 福建省| 五指山市| 巴里| 壶关县| 兴宁市| 通许县| 沭阳县| 庐江县| 荔浦县| 营山县| 新泰市| 咸宁市| 伊春市| 兴山县| 临桂县| 涪陵区| 太湖县| 镇江市| 准格尔旗| 克拉玛依市| 玉环县| 哈密市| 土默特左旗| 日照市| 武隆县| 汉中市| 石渠县| 原平市| 梨树县|