我是 Windows Phone 开发新手。如何在 WP7 中使用 AES/ECB/PKCS7Padding 算法?
在谷歌搜索时,我看到了很多关于 Bouncy Castle 的建议。但我对这个充气城堡并没有很清楚的了解。这是一种算法吗?
我需要加密/解密密码以发送到服务器。在所有其他手机(Android、iPhone、Blackberry)中,我们为此使用 AES/ECB/PKCS7Padding 算法。它们都为我们的输入提供相同的加密/解密结果。但在 Windows Phone 中,我使用 AesManaged Class 进行加密。但它给出了不同的加密结果。在 msdn 文档中(MSDN 文档)关于 AESManaged 类,他们说“密码模式始终是 CBC,填充模式始终是 PKCS7”。我想也许这就是为什么我在这里得到与其他手机不同的加密结果。
这是这里的问题吗?如果是,那么我如何在 WP7 中使用 AES/ECB/PKCS7Padding 算法?
我在 AesManaged 类中没有看到任何用于设置密码模式的属性。
Thanks.
如果你想在 Windows Phone 中使用 AES/ECB/PKCS7Padding,你应该使用 Bouncy Castle 库。
该库并不是专门为 Windows Phone 制作的,您不能使用 Bouncy Castle 网站上的 dll。相反,您应该从以下位置下载 WP7 移植的库:here。 (文章底部有两个链接)
现在,您可以使用 Org.BouncyCastle.Crypto.IBufferedCipher 类型。
cipher = CipherUtilities.GetCipher("AES/ECB/PKCS7"); // or PKCS7PADDING, no matter
cipher.Init(false, new KeyParameter(key)); // or something else
那么你应该使用这个变量。
是的,
“密码模式始终为 CBC,填充模式始终为 PKCS7”
这就是为什么你得到错误结果的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)