C#和PHP之间的不同RC2加密结果

C#和PHP之间的不同RC2加密结果,c#,php,encryption,rc2-cipher,C#,Php,Encryption,Rc2 Cipher,我试图用PHP实现与C代码相同的结果。加密算法是RC2,对.NET使用RC2CryptoServiceProvider,对PHP使用mcrypt() 这是C部分: 这是PHP部分: function encryptRC2($datastring, $keystring, $ivstring) { $encrypted = mcrypt_encrypt(MCRYPT_RC2, $keystring, $datastring, MCRYPT_MODE_CBC, $ivstring);

我试图用PHP实现与C代码相同的结果。加密算法是RC2,对.NET使用
RC2CryptoServiceProvider
,对PHP使用
mcrypt()

这是C部分:

这是PHP部分:

function encryptRC2($datastring, $keystring, $ivstring) {
    $encrypted = mcrypt_encrypt(MCRYPT_RC2, $keystring, $datastring, MCRYPT_MODE_CBC, $ivstring);
    return base64_encode($encrypted);
}
我试图:

  • 使用与C端匹配的
    mb_convert_string()
    强制编码
  • 更改密码模式(即使C#的默认值为CBC,也不行)
  • 尝试
    base64\u encode()
    a
    strtoupper()
    string

我不能改变C#算法,我需要用PHP匹配相同的结果

请向我们展示一些输入、输出和关键值。我们中的一些人不会有一个C#和PHP编程环境。请向我们展示一些输入、输出和键值。我们中的一些人不会有一个C#和PHP编程环境。
function encryptRC2($datastring, $keystring, $ivstring) {
    $encrypted = mcrypt_encrypt(MCRYPT_RC2, $keystring, $datastring, MCRYPT_MODE_CBC, $ivstring);
    return base64_encode($encrypted);
}