java - android中的河豚加密

标签 java android blowfish

cipher = Cipher.getInstance("Blowfish");

这将引发异常 java.security.NoSuchAlgorithmException:未找到 Cipher Blowfish 实现。

我检查了 local_policy.jar 和 US_export_policy.jar 是否存在,它们在安装 java 时没有改变。什么会导致这个问题?

编辑:

Object[] o = Security.getAlgorithms("Cipher").toArray();
    for (int i=0; i<o.length; i++) {
        System.out.println((String)o[i]);
    }

当我运行这段代码时,我得到的列表中没有“Blowfish”,但在 DES 或 RSA 等算法名称中,有一些未知名称,例如“1.2.840.113549.1.1.7”等。为什么那里没有 Blowfish 或它隐藏在这些数字中?

最佳答案

cipher = Cipher.getInstance("Blowfish")

仅适用于 Android 2.3 及更高版本,所以您的目标可能是 Android 2.3 以下?

编辑:如果你想构建到 2.3 或者比方说 4.0 ICS,但也支持较低的设备,你可以将这样的东西添加到你的 Manifest.xml 中:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="14" />

唯一的问题是你必须提供 Blowfish 作为一个选项,我认为这对于 2.3 以下的任何人来说都不是加密方法的有效选择(不可点击/变灰)。测试一下!构建它,并在各种 SDK 版本上试用它。祝你好运!

关于java - android中的河豚加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629577/

相关文章:

android - 如何通过用户输入动态填充 ExpandableListView?

java - 在 Java 中使用自定义盐进行 Blowfish 加密

c# - 我可以让 ProcessBytes 返回准确的数量吗?

android - WorkManager 不重复周期性工作请求

java - 通知传输已完成超过 20 个字节 onCharactersitcChanged BLE

java - AS3Crypto 和 Javax.Crypto 之间的加密/解密 ECB/PKS5/Blowfish 失败并出现填充错误

java - 如何仅在 Spring 中通过注释配置组件扫描?

java - 构建 Maven Java 项目时如何包含其他 Java 项目

java - 使用 pdfbox 编辑 pdf 页面

java - 在java中使用itext格式化pdfptables