Я потратил лучшую половину дня, пытаясь выяснить проблему, с которой столкнулся, и, похоже, я зашел в тупик.
У меня есть приложение ASP (нет доступа к реальному коду, только база данных), в котором пароли пользователей хранятся в столбце aspnet_membership> Password, в нем также есть соль.
У меня также есть копия файла ключа компьютера, который, как я понимаю, содержит ключи, необходимые для расшифровки пароля?
<machineKey validationKey="**validation key**" decryptionKey="**decryption key**" validation="SHA1" decryption="AES"/>
Я пробовал несколько разных способов сделать это, с открытым ssl, с разными библиотеками и т. Д. Однако мне, кажется, не хватает знаний, когда дело доходит до этого. В настоящее время я пытаюсь использовать библиотеку https://github.com/phpseclib/phpseclib для расшифровки пароля:
$cipher = new AES(); // could use AES::MODE_CBC
// keys are null-padded to the closest valid size
// longer than the longest key and it's truncated
//$cipher->setKeyLength(128);
$cipher->setKey(**decrypt key**);
// the IV defaults to all-NULLs if not explicitly defined
$cipher->setIV($salt);
echo $cipher->decrypt($password);
Однако, как бы я ни пытался это сделать, я получаю либо случайное возвращение, либо ложь. У меня очень ограниченный объем информации о версии AES, запущенной в приложении ASP, или любая другая информация о шифровании. Любая помощь будет оценена!