Просто хочу декодировать код в обычный текст

Мы хотели бы узнать больше о функциях get_rnd_iv () и md5_encrypt () этих функций для использования 128-битной кодировки. Теперь мы просто хотим знать, как декодировать этот код в обычный текст …

Вот мои все строки кода ..

function get_rnd_iv($iv_len) { $iv = ''; while ($iv_len-- > 0) { $iv .= chr(mt_rand() & 0xff); } return $iv; } function md5_encrypt($plain_text, $password, $iv_len = 16) { $plain_text .= "\x13"; $n = strlen($plain_text); if ($n % 16) $plain_text .= str_repeat("\0", 16 - ($n % 16)); $i = 0; $enc_text = get_rnd_iv($iv_len); $iv = substr($password ^ $enc_text, 0, 512); while ($i < $n) { $block = substr($plain_text, $i, 16) ^ pack('H*', md5($iv)); $enc_text .= $block; $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return base64_encode($enc_text); } function md5_decrypt($enc_text, $password, $iv_len = 16) { $enc_text = base64_decode($enc_text); $n = strlen($enc_text); $i = $iv_len; $plain_text = ''; $iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512); while ($i < $n) { $block = substr($enc_text, $i, 16); $plain_text .= $block ^ pack('H*', md5($iv)); $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return preg_replace('/\\x13\\x00*$/', '', $plain_text); } ?> 

Мы хотели бы узнать больше о функции get_rnd_iv () и md5_encrypt ()

Но вы не говорите, что именно вы хотите знать!

Есть _encrypt() и _decrypt() – в чем проблема?

Я не криптоаналитик, но функции очень плохо названы. Md5 – это функция хеширования, а не функция шифрования, т. Е. Точка md5 заключается в том, чтобы сделать данные не дешифруемыми – конечно, этот симметричный алгоритм использует функцию md5, но это не реализует только md5.

Точка IV такова, что шифрование одного и того же сообщения одним и тем же ключом дает другой результат (и, следовательно, затрудняет повторные атаки и идентификацию ключа). NB необходимо, чтобы IV генерировалось для включения и того же значения, переданного в дешифрование fn. В случае кода, который вы предоставили, он включен в выходной файл, но может обрабатываться отдельно.

Я мог ошибаться, но алгоритм здесь выглядит как вариация WEP

Возможно, я не совсем понял ваш вопрос, но поскольку шифрование и дешифрование – это то, что вы просите здесь с этим кодом:

 $plain_text = 'Hello World'; $password = 'bb98x! jKl\'5#}'; $enc_text = md5_encrypt($plain_text, $password); $text = md5_decrypt($enc_text, $password); var_dump($plain_text, $enc_text, $text); 

Вывод:

 string(11) "Hello World" string(44) "52tXWp087mLYL/Rd1z8Bbb8sQbE+pp2+tlY95UCmkqc=" string(11) "Hello World" 

Это кажется настолько очевидным, что я не знаю, действительно ли это то, о чем вы просите.