ragflow/api/utils/t_crypt.py

25 lines
749 B
Python
Raw Normal View History

2024-03-27 11:33:46 +08:00
import base64
import os
import sys
from Cryptodome.PublicKey import RSA
from Cryptodome.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
2024-01-17 20:20:42 +08:00
from api.utils import decrypt, file_utils
2024-03-27 11:33:46 +08:00
def crypt(line):
2024-03-27 11:33:46 +08:00
file_path = os.path.join(
file_utils.get_project_base_directory(),
"conf",
"public.pem")
rsa_key = RSA.importKey(open(file_path).read(),"Welcome")
cipher = Cipher_pkcs1_v1_5.new(rsa_key)
password_base64 = base64.b64encode(line.encode('utf-8')).decode("utf-8")
encrypted_password = cipher.encrypt(password_base64.encode())
return base64.b64encode(encrypted_password).decode('utf-8')
if __name__ == "__main__":
pswd = crypt(sys.argv[1])
print(pswd)
print(decrypt(pswd))