小编Jos*_*osh的帖子

PHP到Delphi并使用Rijndael返回加密 - 解密

我使用rijndael密码解密从PHP发送到Delphi的字符串时遇到问题.我在PHP端使用mcrypt,在Delphi端使用DCP_rijndael.

目前我有以下代码.

PHP:

function encRJ($key, $iv, $data)
{
    $r = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
    $r = base64_encode($r);
    return $r;
}
Run Code Online (Sandbox Code Playgroud)

在德尔福:

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;
Run Code Online (Sandbox Code Playgroud)

我尝试在互联网上使用几个单元来实现密码,并且发现大多数人都在谈论DCP组件.即便如此,我还是没有设法正确解密.我已经尝试使用Byte数组作为参数,AnsiStrings,WideStrings等,但遗憾的是没有运气.

对不起,如果我在这里遗漏了一些非常明显的东西,因为经过几个小时的搜索后,我脑子里的状态并不好.

php delphi encryption rijndael

2
推荐指数
1
解决办法
7405
查看次数

标签 统计

delphi ×1

encryption ×1

php ×1

rijndael ×1