Я пытаюсь адаптировать следующую функцию из C # для PHP, и я не могу заставить ее работать. Я уже искал другие темы, но не смог найти правильный ответ, чтобы решить мою проблему.
public static string Decrypt(string EncryptedText)
{
byte[] bytes = Encoding.ASCII.GetBytes("hello");
byte[] buffer = Convert.FromBase64String(EncryptedText);
byte[] rgbKey = new Rfc2898DeriveBytes("world", bytes).GetBytes(0x20);
ICryptoTransform transform = new RijndaelManaged { Mode = CipherMode.CBC }.CreateDecryptor(rgbKey, bytes);
MemoryStream stream = new MemoryStream(buffer);
CryptoStream stream2 = new CryptoStream(stream, transform, CryptoStreamMode.Read);
byte[] buffer4 = new byte[buffer.Length];
int count = stream2.Read(buffer4, 0, buffer4.Length);
stream.Close();
stream2.Close();
return Encoding.UTF8.GetString(buffer4, 0, count);
}
Любая помощь приветствуется. Спасибо!
Мой PHP-код до сих пор:
<?php
$key = hash_pbkdf2('sha1', 'world', 'hello', 1000, 32);
$decrypted = mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
$key,
'very long encrypted string',
MCRYPT_MODE_CBC,
'world');
?>
Других решений пока нет …