我需要在 C 语言(ndk)中使用 AES 加密或解密字符串,我看到了很多关于如何为 android 编译 openssl 的问题,我需要知道 openssl 何时在 android 上可用,我们不能在 C 中使用相同的加密? 如果没有,我需要编译整个 openssl 库,是否有任何其他轻量级库可用于使用 ndk 在 android 中进行标准加密?
问问题
3147 次
1 回答
2
Openssl for android 不是 NDK 的一部分,所以你不能立即使用它。但是,Google 为其提供了一个 NDK 可编译代码库作为外部库(请参阅https://github.com/android/platform_external_openssl)。您需要编译它然后使用它。如果你这样做了,看看Building Android openssl using NDK doesn't make arm4 assembly files proper。
至于轻量级库,您可以在http://en.wikipedia.org/wiki/AES_implementations#C.2FASM_library页面上找到 C 中的 AES 实现列表。但是,大多数库将具有丰富的功能,因此您将拥有大量不会使用的代码。相反,您可能会考虑将参考 AES 实现直接嵌入到您的代码中并使用它。一种这样的实现可以在http://embeddedsw.net/Cipher_Reference_Home.html找到。
于 2012-05-03T10:03:07.560 回答