Spaces:
Sleeping
Sleeping
Download utils/security.py from JRealValdes/jarvis: direct link, hf CLI and curl.
- Browser
- Download file 1.09 kB
-
https://huggingface.co/spaces/JRealValdes/jarvis/resolve/main/utils/security.py
- Command line
-
hf download hf://spaces/JRealValdes/jarvis/utils/security.py
-
curl -L -o security.py https://huggingface.co/spaces/JRealValdes/jarvis/resolve/main/utils/security.py
1.09 kB
| import hashlib | |
| from cryptography.fernet import Fernet | |
| from dotenv import load_dotenv | |
| import os | |
| load_dotenv() | |
| FERNET_KEY = os.getenv("FERNET_KEY") | |
| fernet = Fernet(FERNET_KEY) | |
| def hash_string(input_string: str) -> str: | |
| """Returns a SHA-256 hash of the input string (lowercase)""" | |
| return hashlib.sha256(input_string.lower().encode()).hexdigest() | |
| def encode_symm_crypt_key(input_string: str) -> str: | |
| """Encodes a string into a symmetric encryption key using Fernet""" | |
| return fernet.encrypt(input_string.encode()).decode() | |
| def decode_symm_crypt_key(encoded_string: str) -> str: | |
| """Decodes a symmetric encryption key using Fernet""" | |
| return fernet.decrypt(encoded_string.encode()).decode() | |
| def encode_multiple_strings_sck(strings: list) -> list: | |
| """Encodes a list of strings into symmetric encryption keys""" | |
| return [encode_symm_crypt_key(s) for s in strings] | |
| def decode_multiple_strings_sck(encoded_strings: list) -> list: | |
| """Decodes a list of symmetric encryption keys back into strings""" | |
| return [decode_symm_crypt_key(s) for s in encoded_strings] | |