Использование Mlowfish Если у вас есть пароль, а также примеры как зашифрованных, так и соответствующих дешифрованных значений, есть ли способ обратного инженера или восстановить IV? То, что я пытаюсь сделать возможным? < /P>
// Example
var passKey = Encoding.ASCII.GetBytes("test");
var iv = findIV(Convert.FromBase64String("5plODiWiW6M="), Encoding.ASCII.GetBytes("1"), passKey);
iv = findIV(Convert.FromBase64String("AzbaEcByIWA="), Encoding.ASCII.GetBytes("A"), passKey);
iv = findIV(Convert.FromBase64String("hStTGT9rGzQ="), Encoding.ASCII.GetBytes("Abc"), passKey);
iv = findIV(Convert.FromBase64String("7o4+fYLsxs+2z6ifhwCXdw=="), Encoding.ASCII.GetBytes("12345678"), passKey);
iv = findIV(Convert.FromBase64String("OrZtXoyNoexfSLaDHtbGfqhtSMxDaR8j+Dm9evT1cuE="), Encoding.ASCII.GetBytes("AAAAAAAAAAAAAAAAAAAAAAAA"), passKey);
< /code>
private byte[] findIV(byte[] EncryptedData, byte[] DecryptedData, byte[] Password)
{
var engine = new BlowfishEngine();
engine.Init(false, new KeyParameter(Password));
byte[] decrypted = new byte[8];
engine.ProcessBlock(EncryptedData, 0, decrypted, 0);
// IV = decrypted XOR DecryptedData
byte[] iv = new byte[8];
for (int i = 0; i < 8; i++)
{
if (DecryptedData.Length
Подробнее здесь: https://stackoverflow.com/questions/797 ... r-blowfish