aes256 암호화 복호화

Python 2021. 1. 27. 10:47
#-*-coding:utf-8-*-
import hashlib
import base64
#from Crypto import Random
from Crypto.Cipher import AES
iv = ""
BS = AES.block_size
class AESCipher:
def __init__(self, key, ivIn):
# print "key : " + key
# print "iv : " + ivIn
self.key = hashlib.sha256(key).digest()
global iv
iv = ivIn
def 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:])]



'Python' 카테고리의 다른 글

Serial  (0) 2023.04.19
uft-8  (0) 2022.10.31
: