метод.

я проблемы с расшифровкой строк, отправленных из PHP в Delphi с использованием шифра rijndael. Я использую mcrypt на стороне PHP и DCP_rijndael на стороне Delphi.

На данный момент у меня есть код ниже.

PHP:

function encRJ($key, $iv, $data)
{
    $r = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
    $r = base64_encode($r);
    return $r;
}

И в Дельфи:

function decRJ(Data: string; Key: string; IV: string): string;
var ciph: TDCP_rijndael;
begin
  Data := Base64DecodeStr(Data);

  ciph:= TDCP_rijndael.Create(Self);
  ciph.Init(Key[1], 256, @IV[1]);
  ciph.DecryptCBC(Data[1], Data[1], Length(Data));
  ciph.Free;

  Result := Data;
end;

Я попытался использовать несколько модулей в Интернете, реализующих шифр, и обнаружил, что большинство людей говорят о компонентах DCP. Несмотря на это, мне не удалось заставить его правильно расшифровать. Я пытался использовать байтовые массивы для параметров, AnsiStrings, WideStrings и т. Д., Но, к сожалению, не повезло.

Извините, если я упускаю что-то действительно очевидное здесь, так как мой ум не в хорошей форме, после нескольких часов поиска этого вопроса.

Ответы на вопрос(2)

Ваш ответ на вопрос