Как мы можем видеть, вы пытаетесь сравнить тот, который явно закодирован с использованием hex. Другой - с базой64.
в php
php manual
Описание:
string mcrypt_encrypt (строка $ cipher, string $ key, string $ data, string $ mode [, string $ iv])
Шифрует данные и возвращает их.
......
data
Данные, которые будут зашифрованы с помощью данного шифра и режима. Если размер данных не является n * blockize, данные будут дополняться «\ 0».
Возвращенный криптотекст может быть больше, чем размер данных, данных данными.
blockquote>Режим ECB игнорирует IV, поэтому вводить пример в пример, используя MCRYPT_MODE_ECB и IV (пример в руководстве показывает то же самое). Кроме того, важно знать, что ECB полезен для случайных данных, но структурированные данные должны использовать более сильный режим, например MCRYPT_MODE_CBC
php Code
function encrypt($input) { // $iv = mcrypt_create_iv(32); $mcr = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, "KRPTTT101103", $input, MCRYPT_MODE_ECB); $hex2 = bin2hex($mcr); // Convert binary data into hexadecimal representation return strtoupper($hex2); // base64_encode($mcr); } $encryptedhextext = encrypt("sifrelenecek"); if ($encryptedhextext == "FBE4A4405D6C1B54503D9B213E41AE56" ) { echo "Encrypted Hex text in Delphi and php are equal<br />"; echo $encryptedhextext." == FBE4A4405D6C1B54503D9B213E41AE56"; }
Выход
Шифрованный текст Hex в Delphi и php равны FBE4A4405D6C1B54503D9B213E41AE56 == FBE4A4405D6C1B54503D9B213E41AE56