aes AESCipher(key) ¶ Bases: object Source code in iflearner/communication/peer/aes.py 10 11 12def __init__(self, key: str) -> None: self.bs = AES.block_size self.key = hashlib.sha256(key.encode()).digest() decrypt(enc) ¶ Decrypt data Source code in iflearner/communication/peer/aes.py 22 23 24 25 26 27 28def decrypt(self, enc: List) -> Any: """Decrypt data""" enc = base64.b64decode(enc) iv = enc[: AES.block_size] cipher = AES.new(self.key, AES.MODE_CBC, iv) return self._unpad(cipher.decrypt(enc[AES.block_size :])).decode("utf-8") encrypt(raw) ¶ Encrypt string to bytes Source code in iflearner/communication/peer/aes.py 14 15 16 17 18 19 20def encrypt(self, raw: str) -> bytes: """Encrypt string to bytes""" raw = self._pad(raw) iv = Random.new().read(AES.block_size) cipher = AES.new(self.key, AES.MODE_CBC, iv) return base64.b64encode(iv + cipher.encrypt(raw.encode()))