Я нашел решение. Не уверен, как это работает, и не остальное решение, но в любом случае опубликовать его. Также решение от ответа ниже ссылки Artjom B. Он дал лучшее объяснение. Я также отправляю тот же ответ.
Ссылка - Как расшифровать пароль из JavaScript CryptoJS.AES.encrypt (пароль, пароль) в Python
Javascript -
var KEY = encrypt_key;
var encrypted_txt_obj = CryptoJS.AES.encrypt(text, KEY);
return encrypted_txt_obj.toString();
питон -
from Crypto.Cipher import AES
import base64
BLOCK_SIZE = 16
def bytes_to_key(data, salt, output=48):
data += salt
key = md5(data).digest()
final_key = key
while len(final_key) < output:
key = md5(key + data).digest()
final_key += key
return final_key[:output]
def decrypt_text(enc):
try:
enc = base64.b64decode(enc)
assert enc[0:8] == b"Salted__"
salt = enc[8:16]
key_iv = bytes_to_key(encrypt_key, salt, 32 + 16)
key = key_iv[:32]
iv = key_iv[32:]
aes = AES.new(key, AES.MODE_CBC, iv)
text = unpad(aes.decrypt(enc[16:]))
return text
except Exception as e:
resp = jsonify({constants.ERR_SERVER: e.message})
resp.status_code = 403
logger.error("Exception %s", e.message)
return resp
def unpad(data):
return data[:-(data[-1] if type(data[-1]) == int else ord(data[-1]))]