4

我想问一个简单的问题。

Android 中是否包含 OpenSSL?如果是这样,有没有人可以说如何调用openssl函数,例如AES加密?

先感谢您。

4

4 回答 4

4

以下是一些有用的链接: 如何在 Android 中使用 Open SSL。对于 AES 加密,请查看 android 支持的 javax.crypto 包。javax.crypto 也支持 AES 算法。这是 Android 中那个javax.crypto的链接。确保在提问之前进行一些研究。至少尝试展示您尝试过的内容并具体说明您的问题。

于 2013-08-06T03:05:03.903 回答
2

您的问题“Android 中是否包含 OpenSSL?”的答案。没有”。默认情况下,OpenSSL 显然不包含在 Android 中。

于 2018-09-18T05:42:32.107 回答
1

此外,如果您有兴趣朝这个方向发展,您可以自己轻松编译最新的 openSSL。您可以在此处按照我的构建说明进行操作

于 2015-09-28T19:14:39.427 回答
1

您可以使用以下代码找到它:

 StringBuilder builder = new StringBuilder();
for (Provider provider : Security.getProviders()) {
    builder.append("provider: ")
              .append(provider.getName())
            .append(" ")
            .append(provider.getVersion())
            .append("(")
            .append(provider.getInfo())
            .append(")\n");
}
String providers = builder.toString();
//now display the string on the screen or in the logs for debugging.

这会给你这样的结果:

provider: GmsCore_OpenSSL1.0 (Android's OpenSSL-backed security provider)
provider: AndroidOpenSSL1.0 (Android's OpenSSL-backed security provider)
provider: DRLCertFactory1.0 (ASN.1, DER, PkiPath, PKCS7)
provider: BC1.49 (BouncyCastle Security Provider v1.49)
provider: Crypto1.0 (HARMONY (SHA1 digest; SecureRandom; SHA1withDSA signature))
provider: HarmonyJSSE1.0 (Harmony JSSE Provider)
provider: AndroidKeyStore1.0 (Android AndroidKeyStore security provider)

此外,如果要实现,您可以编译自己的 openssl 库(最新),并且您必须编写自己的 ndk 代码(在 c/c++ 中),静态导入此已编译的 openssl 库。

于 2019-01-05T16:04:01.977 回答