【问题标题】:Android - Use RC4 with CipherAndroid - 使用 RC4 和 Cipher
【发布时间】:2012-03-02 17:33:48
【问题描述】:

那么,我该怎么做呢?在任何地方都找不到任何成功使用 RC4 的示例。 另外,做 cipher = Cipher.getInstance("RC4");返回 NoSuchAlgorithm 异常

【问题讨论】:

  • 为什么要使用RC4?很容易被误用
  • 我想加密/解密视频文件,AES 不会剪掉它,因为它太慢了。不用担心我会误用 RC4,等我弄清楚如何使用它后,就可以解决了。 :)
  • AES 应该能够解密远超实时的视频文件。您可能想要随机访问,所以我建议在 CTR 模式下使用 AES。
  • 如果您绝对必须拥有 RC4,那么您只需自己实现它。它只有几行。在我的系统上,使用openssl speed,rc4 比 aes-128 快大约 2.5 倍。

标签: android encryption rc4-cipher


【解决方案1】:

如果您列出可用的密码:

    Provider[] providers = Security.getProviders();
    for (Provider provider : providers) {
        for (Object entry : provider.keySet()) {
            String name = String.valueOf(entry);
            if (name.startsWith("Cipher")) {
                Log.d("Cipher", "Supports: " + name.substring(7));
            }
        }
    }

有一些 RC4 变体 - 例如 PBEWITHSHAAND128BITRC4 (PKCS#5)。你需要哪一个?

【讨论】:

  • 此列表因设备类型(或至少 Android 版本)而异。我使用的是 2.2,并且在我的列表中搜索没有给出 rc4 变体。该列表来自哪个设备?
  • 这是来自 ICS。例如,如果我将设备闪回 2.3.4,您仍然会发现 PBEWITHSHAAND128BITRC4。
  • 如前所述,我的是 2.2。此外,另一个目标是允许应用程序在低端手机(2.2 及以下)上运行。
  • 在这种情况下,重构(因此它不会与您设备中的任何内容冲突)并将“最新和最棒的”充气城堡罐子包含到您的项目中,然后从那里开始。
  • 最新最好的安卓充气城堡是海绵城堡。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 2016-04-16
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多