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