【问题标题】:Common encryption technique for Windows 8.1 (WinRT), WP8 (Silverlight) and Android (Java)?Windows 8.1 (WinRT)、WP8 (Silverlight) 和 Android (Java) 的常用加密技术?
【发布时间】:2015-03-26 21:23:37
【问题描述】:

我希望在我的 Windows 8Windows phone 8Android 应用程序之间保留一些数据。

数据是从互联网下载并在设备上解密的加密文本。
然而问题是,每次我尝试使用内置类进行 AES 加密 时,它们都会在不同的设备上产生不同的输出。在 Windows phone 8 上,我使用的是 RijndaelManaged 类,但在 WinRT 中没有。 Windows phone 8 加密文本给出的输出不会在 WinRTAndroid 上解密。是否有适用于所有三个平台的通用加密/解密方法?

【问题讨论】:

  • 你能提供一些你的代码链接吗?尤其是 AES 加密
  • @dvhh 对于 Windows Phone 8 版本,我使用的是给定的here
  • 顺便说一句,您的结果是基于解密的内容吗?
  • 您可以使用所有标准化的东西。 Rijndael 不是标准化的,但 AES 是标准化的。 AES 是 Rijndael 的一个子集。

标签: android windows-phone-8 encryption windows-runtime


【解决方案1】:

一般来说,不仅算法很重要,操作模式和块长度也很重要。尝试为所有平台查找并修复它们,即使它们的类可能有不同的名称。

如果您仍然遇到问题,请尝试查找所有设备都支持的加密库。我猜 OpenSSL 是一个明确的候选者。

如果这些库本身不受支持,请尝试将它们作为具体应用的库提供。

【讨论】:

  • 那么我应该在这三个方面都使用 OpenSSL 吗?您确定他们会支持它并且不会像 AES 那样在每个中产生不同的输出吗?还有其他选择吗?我可以牺牲一点安全性。这不是核代码。我只需要一些不是纯文本并且不容易被任何暴力破解的东西。
  • 嗯,如果你选择相同的模式,AES应该是兼容的,因为算法是标准化的。您能否向我们提供更多信息,例如确切的操作模式以及您在其他平台上使用的代码,例如在 android 上的代码?这会很有帮助。
  • 我找到了一个this,它适用于 Windows Phone 8 和 Android。还有this,它适用于 Windows Phone 8 和 Windows 8。我需要将所有 3 个都纳入一个标准,因为两者都产生不同的输出。
  • 您是否尝试过发布一个通用加密库(如上面提到的 OpenSSL)并在您的应用程序中使用具有相同填充和模式等的标准方案,如上所述?
猜你喜欢
  • 2023-04-03
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
相关资源
最近更新 更多