mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-07-02 23:23:21 +00:00
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
import base64
|
|
|
|
|
|
class BaseCrypto:
|
|
def encrypt(self, text):
|
|
return base64.urlsafe_b64encode(
|
|
self._encrypt(bytes(text, encoding='utf8'))
|
|
).decode('utf8')
|
|
|
|
def encrypt_bin(self, data: bytes) -> bytes:
|
|
return self._encrypt(data)
|
|
|
|
def _encrypt(self, data: bytes) -> bytes:
|
|
raise NotImplementedError
|
|
|
|
def decrypt_bin(self, data: bytes) -> bytes:
|
|
return self._decrypt(data)
|
|
|
|
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 |