码迷,mamicode.com
首页 > 其他好文 > 详细

AEE加密解密

时间:2017-03-22 16:07:02      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:str   rip   解密   unp   int   bsp   init   self   nas   

 from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex


class AesHandler(object):
    def __init__(self, key, iv, mode):
        self.key = key
        self.iv = iv
        self.mode = mode
        self.BS = AES.block_size  # Size of a data block (in bytes) 16
        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)
        cipher = AES.new(self.key, self.mode, self.iv)
        cipher_text = cipher.encrypt(text)
        return b2a_hex(cipher_text)

    def decrypt(self, text):
        cipher = AES.new(self.key, self.mode, self.iv)
        plain_text = cipher.decrypt(a2b_hex(text))
        return self.unpad(plain_text.rstrip(‘\0‘))


if __name__ == ‘__main__‘:
    key = ‘zhyh37MmA67Ato%Z‘
    iv = ‘Q@p%TLoLCEMollMq‘
    aes = AesHandler(key, iv, AES.MODE_CBC)
    e = aes.encrypt("in the 技术分享wifi.com")
    print "加密:", e
    d = aes.decrypt(e)
    print "解密:", d

AEE加密解密

标签:str   rip   解密   unp   int   bsp   init   self   nas   

原文地址:http://www.cnblogs.com/xiaoyaowuming/p/6600352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!