fix(api): hot loading is blocked in development mode

This commit is contained in:
pycook 2024-05-21 13:14:40 +08:00
parent f89c18db51
commit 11ff531730
1 changed files with 5 additions and 4 deletions

View File

@ -3,8 +3,8 @@ import os
import secrets import secrets
import sys import sys
import threading import threading
from base64 import b64decode, b64encode from base64 import b64decode, b64encode
from Cryptodome.Protocol.SecretSharing import Shamir from Cryptodome.Protocol.SecretSharing import Shamir
from colorama import Back, Fore, Style, init as colorama_init from colorama import Back, Fore, Style, init as colorama_init
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
@ -30,6 +30,7 @@ seal_status = True
secrets_encrypt_key = "" secrets_encrypt_key = ""
secrets_root_key = "" secrets_root_key = ""
def string_to_bytes(value): def string_to_bytes(value):
if not value: if not value:
return "" return ""
@ -78,7 +79,7 @@ class KeyManage:
(len(sys.argv) > 1 and sys.argv[1] in ("run", "cmdb-password-data-migrate"))): (len(sys.argv) > 1 and sys.argv[1] in ("run", "cmdb-password-data-migrate"))):
self.backend = backend self.backend = backend
threading.Thread(target=self.watch_root_key, args=(app,)).start() threading.Thread(target=self.watch_root_key, args=(app,), daemon=True).start()
self.trigger = app.config.get("INNER_TRIGGER_TOKEN") self.trigger = app.config.get("INNER_TRIGGER_TOKEN")
if not self.trigger: if not self.trigger:
@ -412,7 +413,7 @@ class KeyManage:
class InnerCrypt: class InnerCrypt:
def __init__(self): def __init__(self):
self.encrypt_key = b64decode(secrets_encrypt_key) self.encrypt_key = b64decode(secrets_encrypt_key)
#self.encrypt_key = b64decode(secrets_encrypt_key, "".encode("utf-8")) # self.encrypt_key = b64decode(secrets_encrypt_key, "".encode("utf-8"))
def encrypt(self, plaintext): def encrypt(self, plaintext):
""" """
@ -490,4 +491,4 @@ if __name__ == "__main__":
t_ciphertext, status1 = c.encrypt(t_plaintext) t_ciphertext, status1 = c.encrypt(t_plaintext)
print("Ciphertext:", t_ciphertext) print("Ciphertext:", t_ciphertext)
decrypted_plaintext, status2 = c.decrypt(t_ciphertext) decrypted_plaintext, status2 = c.decrypt(t_ciphertext)
print("Decrypted plaintext:", decrypted_plaintext) print("Decrypted plaintext:", decrypted_plaintext)