与Java服务端通讯?没问题。。加解密?没问题。。
可恶的是:微软你为何要割掉windows phone .net 中的3DES加解密?
估计不是我一个人搞不清楚这个问题吧~
详细情况:
之前找了很多第三方的库,终于在某一天很开心的发现我找到了Windows phone 3DES的库勒(详情点这里)。可是不久后我就发现,该库竟然不支持3DES加密算法中的ECB模式,我们的服务端使用的ECB啊。。。不过后来有高人帮我找到了一个相关的外国大牛写的文章,我从中提取出了3DES ECB部分来给项目使用。
解决方案:
使用提取出来的代码 可以实现3DES ECB模式的加解密。
使用示例:
/// <summary>
/// 执行ECB加解密操作
/// </summary>
/// <param name="input">明文或密文</param>
/// <param name="key">密钥</param>
/// <param name="encrypt">True加密,False解密</param>
/// <returns>返回加解密后的数组</returns>
private static byte[] RunTripleDes(byte[] input, byte[] key, bool encrypt)
{
var keyParam = new DesEdeParameters(key);
var engine = new PaddedBufferedBlockCipher(new DesEdeEngine());
engine.Init(encrypt, keyParam);
var output = engine.DoFinal(input);
return output;
}
原博客地址传送门:http://bbs.windever.com/thread-20056-1-1.html 希望对你有帮助!!!