2

我想在 Android 的原生 Java 应用程序中使用公钥/私钥对加密和解密数据。我在浏览旧帖子/文档时遇到了麻烦。

据我了解:

  • 早期版本的 Android 使用了弹性城堡加密库的残缺版本。特别是它不包括椭圆曲线方法。

  • 椭圆曲线密码学是在移动设备上使用的方式,因为较小的密钥大小意味着更少的计算和/或更安全。

  • 人们建议包含您自己的充气城堡库副本以获得除重命名包之外的全部功能(或使用海绵城堡,这是带有重命名包的充气城堡)

  • 更高版本的 Android 进行了更改,允许使用充气城堡而不重命名包

  • 甚至更高版本的 Android 也开始包含具有完整功能的充气城堡。

所以问题是——截至 2014 年 6 月,应该如何加密 Android 上的数据?

github上是否有任何简单的项目以“正确的方式”做事?

4

1 回答 1

1

我最近研究了加密主题并发现了三种方法:

1)使用默认的Java / Android实现(我猜你提到的那个),Java Crypto API:http ://docs.oracle.com/javase/7/docs/api/javax/crypto/package-summary.html + http://developer.android.com/reference/javax/crypto/package-summary.html

2) 使用最近提供的 Facebook 库 Conceal: http: //facebook.github.io/conceal/

3)使用OpenSSL API(使用NDK):http ://wiki.openssl.org/index.php/Android

找到最好的将是一个艰难/主观的答案。

于 2014-06-02T22:31:29.840 回答