使用Android NDK加密从普通Android应用程序传递的数据

sht*_*lik 8 encryption android blowfish android-ndk

是否有可能并且值得尝试使用Android NDK开发一些服务器应用程序,它将加密从普通的基于Java的应用程序传递给它的数据(或者只是使用一些内置的Linux加密库)?

我尝试使用Cipher库,但用AES加密2MB文件花了差不多一分钟.在Android 2.3(?)之前,在Cipher中不能使用blowfish.我怀疑它会快得多.

我在Symbian上使用blowfish进行加密,速度要快得多(5-10秒),所以我认为在android中它因为使用Java虚拟机而变慢,我想尝试本机应用程序.

有人以前做过吗?

编辑:NDK中的加密速度要快得多.在那里做.AES的答案也有类似的问题:Android上的AES解密太慢而无法使用.NDK会更快吗?其他想法?

Del*_*yan 1

What version of Android are you testing against? Bear in mind that starting with Froyo, there's a tracing JIT which should work quite well for the math-intensive loops in a crypto library.

对于旧版本,您可能希望使用 NDK 来完成此操作,是的。不过,我不知道为什么你需要服务器 - 只需编译任何好的/快速的加密库并使用 NDK 对其进行包装即可。然后,您可以简单地使用基于 Java 的应用程序中的包装器。