    def encrypt(self, raw, mode=AES.MODE_CBC):
        raw = self._pad(raw, AES.block_size)
        iv = Random.new().read(AES.block_size)
        cipher = AES.new(self.key, mode, iv)
        return base64.b64encode(iv + cipher.encrypt(raw)).decode('utf-8')