2024-03-27 11:33:46 +08:00
|
|
|
import base64
|
|
|
|
import os
|
|
|
|
import sys
|
2024-01-15 08:46:22 +08:00
|
|
|
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-01-15 08:46:22 +08:00
|
|
|
|
2024-03-27 11:33:46 +08:00
|
|
|
|
2024-01-15 08:46:22 +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")
|
2024-07-22 09:24:45 +08:00
|
|
|
rsa_key = RSA.importKey(open(file_path).read(),"Welcome")
|
2024-01-15 08:46:22 +08:00
|
|
|
cipher = Cipher_pkcs1_v1_5.new(rsa_key)
|
2024-07-22 09:24:45 +08:00
|
|
|
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')
|
2024-01-15 08:46:22 +08:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
pswd = crypt(sys.argv[1])
|
|
|
|
print(pswd)
|
|
|
|
print(decrypt(pswd))
|