Вот ты ж упёртый.
Когда ты не понимаешь, как выполняется шифрование - и возникают подобные вопросы.
Нужно чётко понимать, какой байтовый вид имеют строки в PHP и в Delphi.
Почему? Потому что, если алгоритм фиксирован, то результаты его выполнения одинаковы - вне зависимости от языка, на котором алгоритм реализован.
Иными словами, "результаты не совпадают"
НЕ означает, что шифрование выполняется как-то по разному в Delphi и в PHP. Это означает, что на вход алгоритму шифрования поступают
разные данные (читай: разное байтовое представление одинаковых строк). Тогда вопрос "не совпадает результат шифрования" отпадёт сам собой.
Вместо него возникнет другой вопрос: "а как мне сконвертировать строку в байты и обратно".
Сделай байтовый дамп "строки" в PHP.
Посмотри, что это.
Сделай байтовый дамп той же строки в Delphi.
Убедись, что они не совпадают.
Забудь про вопрос шифрования.
Решай вопрос с байтами и строками.
Для особо одарённых ("дай компонент"). Я не телепат.
Я не знаю, как ты хранишь строки в PHP.
UTF-8? Win1251? KOI-8? Определяется сервером? Я не знаю, как ты хранишь строки в Delphi.
ANSI? Unicode? Поэтому я не могу ответить на вопрос, как нужно делать лично тебе.
Но если я знаю все кусочки информации, то соединить их вместе не представляет проблем.
P.S. Подсказка: в PHP
"строка" - это массив байт
. В Delphi строка - это массив символов, не байт.
P.P.S. При условии, конечно, что алгоритм действительно фиксирован, и ты не пытаешься использовать два
разных алгоритма (например, разные варианты заполнения в блочном шифре).