Я использую следующий код PHP, чтобы зашифровать пароль и затем сохранить его в базе данных, мне нужно иметь возможность расшифровать его с помощью Python.
Я успешно расшифровал его с помощью PHP, но не смог найти
делать это с помощью Python (я использую версию 2.7.9, если это имеет значение) ..
$mypass = "somepassword"$encryptionMethod = "AES-256-CBC";
$secretHash = "25c6c78835b7479b151f2136cd888777";
$encpass = openssl_encrypt($mypass, $encryptionMethod, $secretHash);
У меня нет проблем с открытием и чтением из БД, моя единственная проблема — часть расшифровки.
Любые предложения приветствуются, спасибо.
Наконец-то нашел решение … Кажется, код ниже работает, я уверен, что есть более эффективный способ сделать это, но сейчас он делает то, что мне нужно … Надеюсь, это поможет кому-то еще в будущее. Пожалуйста, имейте в виду, что это не безопасный способ защиты данных!
#!/usr/bin/python
from Crypto.Cipher import AES
import base64
import os
def decryption(encryptedString):
PADDING = '{'
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
#Key is FROM the printout of 'secret' in encryption
#below is the encryption.
encryption = encryptedString
key = "25c6c78835b7479b151f2136cd888777"cipher = AES.new(key)
decoded = DecodeAES(cipher, encryption)
#print decoded
return decoded
enc_message = "p7OslgBJ5RlTBDG4ZD8HEA" # in my case it will be the data from the database
enc_message = enc_message + "=="data = decryption(enc_message)
data = data.rstrip()
print data
Других решений пока нет …