Files
jumpserver/apps/common/utils/crypto/base.py
2026-03-31 15:10:03 +08:00

39 lines
963 B
Python

import base64
class BaseCrypto:
def encrypt(self, text):
return base64.urlsafe_b64encode(
self._encrypt(bytes(text, encoding='utf8'))
).decode('utf8')
def _encrypt(self, data: bytes) -> bytes:
raise NotImplementedError
def decrypt(self, text):
return self._decrypt(
base64.urlsafe_b64decode(bytes(text, encoding='utf8'))
).decode('utf8')
def _decrypt(self, data: bytes) -> bytes:
raise NotImplementedError
class BaseCryptoSuite:
def encrypt(self, text):
raise NotImplementedError
def decrypt(self, cipher_text):
raise NotImplementedError
def gen_key_pair(self):
raise NotImplementedError
def encrypt_with_key_pair(self, text, public_key):
raise NotImplementedError
def decrypt_with_key_pair(self, cipher_text, private_key):
raise NotImplementedError
def hash(self):
raise NotImplementedError