php 3des加密.net无法解析

问题描述

php 3des加密.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进制

}

解决方案

http://q.cnblogs.com/q/42779/

时间: 2024-10-27 14:39:00

php 3des加密.net无法解析的相关文章

一行代码实现IOS 3DES加密解密_IOS

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解:3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法.  3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密.数据加密

【推荐】JAVA基础◆浅谈3DES加密解密

浅谈3DES加密解密   (注:本文不深入探讨3DES的加密原理,只着重说明在Java中使用3DES加密解密以及常见问题)       从数据安全谈起       当你使用网银时,是否担心你的银行卡会被盗用?     当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露?     作为开发者,编写安全的代码比编写优雅的代码更重要,因为安全是一切应用之根本!为了确保数据不被侵犯,数据加密/解密技术运用而生.    --摘录自<Java加密解密的艺术>       所以为了确保数据传输和数据存储的

des-关于C++ 的3DES加密问题

问题描述 关于C++ 的3DES加密问题 求各位大神提供一份des/3des加密的源码!希望有调用接口比较简单一点的...就是输入密钥和明文就可以得到密文的...先谢谢大家了哈 解决方案 3DES加解密C++代码

如何用给定密钥进行3DES加密

问题描述 如何用给定密钥进行3DES加密 最近在研究3DES加密的问题,在网上找了一下基本都是http://www.cnblogs.com/mailingfeng/archive/2011/07/29/2120507.html这样的一段代码,我想问的是如果规定了一个字符串要用给定的密钥如:abcdabcd去加密,要怎么做?能不能贴一点代码参考一下? 解决方案 我现在做给一个24个字节的字符串加密,密钥是abcdabcd,加密后转为16进制字符串长度为48个字节,请问怎么实现? 解决方案二: 加密

des-话说3DES加密,如何修改成24位密钥,C语言版本

问题描述 话说3DES加密,如何修改成24位密钥,C语言版本 假设密钥:1234567812345678ABCDEFGH -- 24 如果进行3DES加密. 我网上找到的版本全是64位的 解决方案 参考:http://download.csdn.net/detail/wtbee/6325771 解决方案二: 为什么要用短密码,这样不安全 解决方案三: 如果是24位密钥如何修改,我改了好久,结果一直不符.

关于3DES加密,直接上代码求指点

问题描述 关于3DES加密,直接上代码求指点 public static byte[] encryptMode(byte[] keybyte, byte[] src){ try { // SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);; String deskey = "abcdabcd"; Cipher c1 = Cipher.getInstance(Algorithm); c1.init(Cipher.ENCRYP

C语言单片和C#语言服务器端DES及3DES加密的实现

原文:C语言单片和C#语言服务器端DES及3DES加密的实现 公司最近在做单片机和C#语言的通信.用的是Socket通信.传输的数据是明文,后来 在会上讨论准备用DES加密(对称加密)来做. 双方约定 相应的"密钥". 以前做的加密一般都是用C#加密和C#解密.一直以为是个简单的问题,现在和用C写的单片机通信的时候却出了问题. 问题是什么呢? 我找了几个在线加密 解密的网站,还下了几个加密解密的工具.结果相同的数据,用相同的密钥却得到不同的结果. 而且现在网上C语言实现的DES资料基本

[J2SE]Java中3DES加密解密调用示例_JSP编程

jce.jar security/US_export_policy.jar security/local_policy.jar ext/sunjce_provider.jar Java运行时会自动加载这些包,因此对于带main函数的应用程序不需要设置到CLASSPATH环境变量中.对于WEB应用,不需要把这些包加到WEB-INF/lib目录下. 以下是java中调用sun公司提供的3DES加密解密算法的样本代码: 复制代码 代码如下: /*字符串 DESede(3DES) 加密*/ import

我用3DES加密后怎么样才能得到16位的密文

问题描述 明文:12345678秘钥:12345678909876543212345678909876进过计算出来的密文:iGNoZSrV2gnYK7x4ogdzdQ==我现在想让这个密文显示成由0到9,A到F里面的数组成的16位的密文.求解应该怎么弄.最好有代码谢谢各位啦! 解决方案 解决方案二:急求,在线等解决方案三:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Security.Crypto