如果我正确理解情况,SpongyCastle 是对 BouncyCastle 的重命名,它的创建是为了让人们能够在 Android 上包含新版本的 BouncyCastle,因为仅包含最新的 BouncyCastle jar 会导致与旧版本和精简版本的冲突Android 自带的 BouncyCastle。
但是,显然自 3.0 版(2011 年 - 6 年前!)以来,Android BouncyCastle 包已重命名为com.android.org.bouncycastle
,因此现在如果您包含常规org.bouncycastle
,这将不再与预先打包的剥离 BouncyCastle 冲突,您可以使用最新版本就是这样。
让我感到困惑的是,SpongyCastle 项目似乎仍然非常活跃,每当我搜索“Android 上的 BouncyCastle”或任何相关内容时,我都会从过去几年中得到很多结果,这些结果建议使用 SpongyCastle,理由是类冲突问题作为推理,即使它们(显然)早在 2011 年就已经解决了。我看到的另一个对我来说更有意义的论点是 SpongyCastle 更向后兼容,因为你不会遇到任何问题运行早于 3.0 的 Android 版本的设备。
所以我的问题是,如果您的目标不是早于 3.0 的 Android 版本,使用 SpongyCastle 胜过 BouncyCastle 是否还有任何好处?