chedanya
有手
2016-03-06 07:00

php 3des加密.net无法解析

2
  • php
  • 加密
  • net

因项目需要,需要与对方的接口对接 ,对方是.net开发的,需要与我们的php对接,但是php 3des加密后,.net的无法解析,且加密后的字符串与.net加密后的字符串,前半部分一样,后半部分就不一样!,也就是说加密后的字符串不相等,有高手吗,高分求解?
.net程序:
public static string Encrypt3DES(string a_strString, string a_strKey)

{

TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();

DES.Key = ASCIIEncoding.ASCII.GetBytes(a_strKey);

DES.Mode = CipherMode.ECB;

ICryptoTransform DESEncrypt = DES.CreateEncryptor();

byte[] Buffer = ASCIIEncoding.ASCII.GetBytes(a_strString);

return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));

}

我写的php加密程度:
function encrypt($string) {
$key = "05217c03d7b74fe581fc449b";
$cipher_alg = MCRYPT_TRIPLEDES;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,MCRYPT_MODE_ECB), MCRYPT_RAND);
$encrypted_string = mcrypt_encrypt($cipher_alg, $key, $string, MCRYPT_MODE_ECB, $iv);
return base64_encode($encrypted_string);//转化成16进制

}
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐

换一换