如果针对 Android 3.0 及更高版本,使用 SpongyCastle 比 BouncyCastle 是否有优势?

2024-01-11

如果我理解正确的话,SpongyCastle 是 BouncyCastle 的重命名,它的创建是为了让人们能够在 Android 上包含新版本的 BouncyCastle,因为仅仅包含最新的 BouncyCastle jar 就会导致与旧的和精简版本的冲突。 Android 附带的 BouncyCastle。

然而,显然从 3.0 版(2011 年 - 6 年前!)开始,Android BouncyCastle 包被重命名为com.android.org.bouncycastle,所以现在如果你包括常规的org.bouncycastle,这将不再与预打包的精简版 BouncyCastle 冲突,并且您可以通过这种方式使用最新版本。

让我困惑的是,SpongyCastle 项目似乎仍然非常活跃,每当我搜索“BouncyCastle on Android”或任何相关内容时,我都会得到过去几年的很多结果,这些结果推荐使用 SpongyCastle,并引用了类冲突问题作为推理,即使它们(显然)早在 2011 年就已得到解决。我看到的另一个对我来说更有意义的论点是 SpongyCastle 更向后兼容,因为你不会遇到任何问题运行早于 3.0 版本的 Android 的设备。

所以我的问题是,如果您的目标不是 3.0 之前的 Android 版本,那么使用 SpongyCastle 比 BouncyCastle 是否还有任何优势?


《海绵城堡》的作者是这样说的wrote https://github.com/rtyley/spongycastle/issues/34关于这一点:

为什么海绵城堡不会过时?

  • Android 3.0 之前的设备仍在活跃使用。在较贫穷的国家有更多的使用领域,而这些人仍然需要安全的加密技术。 Signal(据我所知,不是 SC 用户)目前仍然支持 Android 2.3 及更高版本。
  • 即使在 Android 3.0 之后的设备上,设备制造商也不会不小心捆绑库,Bouncy Castle 可能仍然会捆绑在一些不起眼的设备上。
  • 尽管与 Android 捆绑的 Bouncy Castle 版本更改了程序包名称,但它仍然以“BC”作为提供程序名称,这使得在将您自己的 Bouncy Castle 副本添加到应用程序并选择“BC”时,实现的选择存在一些模糊性。 “作为您的提供者。

但他接着指出,Spongy Castle 的发布经常落后于 Bouncy Castle 的发布……原因是完全可以理解的。


简而言之,对于 Android 设备,使用 Spongy Castle 的唯一可能的好处似乎是处理应用程序需要最新 Bouncy Castle 功能但设备制造商捆绑了旧版本的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果针对 Android 3.0 及更高版本,使用 SpongyCastle 比 BouncyCastle 是否有优势? 的相关文章

  • 控制 OverlayItem 大小

    我正在构建一个在单个 ItemizedOverlay 中包含几十个 OverlayItems 的地图 我的地图设计为可以非常近距离地查看 大约缩放级别 18 并且 OverlayItems 彼此非常接近 地图放大时看起来不错 但是 如果用户
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • 添加到列表时有没有办法避免循环?

    我想知道这样的代码 List
  • Android 上的 MIDI:Java 和/或 AIR 库

    一段时间以来 我一直在考虑在 iPad 上 重新 构建一个应用程序 其中我将使用 Objective C 和DSMI http dsmi tobw net 将 MIDI 信号发送到主机 这还不错 我的意思是 除了实际编写应用程序之外 现在我
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无法使用 findViewById() 找到视图

    我找不到TextView通过致电findViewById 即使 ID 确实存在 OtherActivity public class OtherActivity extends Activity Override protected voi
  • Android模拟器中的网络访问

    我试图通过我的 Android 应用程序访问互联网 但我既成功又失败 我在构建应用程序时启动模拟器 并且应用程序安装得很好 我可以使用浏览器访问互联网 但是 当我尝试这个小代码片段时 InetAddress inet try inet In
  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • Android-dispatchTouchEvent 给了我一个 StackOverflowError

    这里我有一个带有 setOnTouchListener 的 ViewFlipper 它工作得很好 然后我膨胀 ReLayNewsItem 然后将其添加到 ViewFlipper 现在我希望 WebView web 监听触摸事件并将它们传递给
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • Android MulticastSocket.joinGroup 不会触发发送 IGMP 消息

    Code MulticastSocket s new MulticastSocket InetAddress addr InetAddress getByName 230 230 230 1 s joinGroup addr 在 Ubunt
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva

随机推荐