Python
aes256 암호화 복호화
최승길
2021. 1. 27. 10:47
#-*-coding:utf-8-*-import hashlibimport base64#from Crypto import Randomfrom Crypto.Cipher import AESiv = ""BS = AES.block_sizeclass AESCipher:def __init__(self, key, ivIn):# print "key : " + key# print "iv : " + ivInself.key = hashlib.sha256(key).digest()global iviv = ivIndef encrypt(self, raw):raw = self.on_pad(raw)cipher = AES.new(self.key, AES.MODE_CBC, iv)return base64.b64encode(iv + cipher.encrypt(raw))def decrypt(self, enc):enc = base64.b64decode(enc)dIv = enc[:BS]cipher = AES.new(self.key, AES.MODE_CBC, dIv)def on_pad(self, s):return s + (BS - len(s) % BS) * chr(BS - len(s) % BS)def on_unpad(self, s):return s[:-ord(s[len(s)-1:])]