метод.
я проблемы с расшифровкой строк, отправленных из 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 и т. Д., Но, к сожалению, не повезло.
Извините, если я упускаю что-то действительно очевидное здесь, так как мой ум не в хорошей форме, после нескольких часов поиска этого вопроса.