Hallo,
kann jemand etwas Python oder kennt sich mit Verschlüsslungs-Funktionen aus?
ich habe eine Python-Funktion, die ich in PHP übersetzen muss.
def decrypt_password(encrypted_password):
"""Decrypt password.
:param encrypted_password: Encrypted password
"""
key = b'\x01\x02\x03\x04\x05\x06\x07\x08
\x0b\x0c\r\x0e\x0f\x10' \
b'\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f '
init_vector = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' \
b'\x00\x00\x00\x00'
cipher = AES.new(key, AES.MODE_CBC, init_vector)
json_password = json.loads(unpad(
cipher.decrypt(base64.b64decode(encrypted_password)).decode('utf-8')))
return json_password["apPasswordHash"]
den Anfang habe ich (vermutlich) schon korrekt umgesetzt
function decryptPwd($encrypted_password)
{
$pw = base64_decode($encrypted_password);
$key = pack(
'c*',
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11,
0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20
);
echo 'key=' . print_r(unpack('c*', $key), true) . PHP_EOL;
$init_vector = pack(
'c*',
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
);
echo 'init_vector=' . print_r(unpack('c*', $init_vector), true) . PHP_EOL;
/*
cipher = AES.new(key, AES.MODE_CBC, init_vector)
json_password = json.loads(
unpad(
cipher.decrypt(
pw
).decode('utf-8')
)
)
return json_password["apPasswordHash"]
*/
}
Ich habe zwar PHP: mcrypt_decrypt - Manual gefunden, aber so richtig schlau werde ich da auch nicht draus.
Über eine Schubs in die richtige Richtung würde ich mich freuen.
Leider tue ich mich mit der Python-Syntax schwer, sodaß ich noch nicht sehe, wie ich das Ergebnis von der neuen Funktion mit dem Original vergleichen kann.
Danke
demel