【问题标题】:Using libsodium across platforms跨平台使用 libsodium
【发布时间】:2018-03-28 11:01:30
【问题描述】:

我在嵌入式设备上使用 libsodium。我想与移动设备交互以进行密钥生成/加密/解密。

是否有必要在所有参与加密通信的设备上使用 libsodium?

换句话说:libsodium 包装了 NaCl,那么是否可以在远程平台(Android 或 iOS)上使用由 libsodium 包装或包含在 NaCl 中的本机加密功能而不实际包含 libsodium 库,或者是这样吗?只是自找麻烦?

我还在嵌入式设备上提供了 mbed TLS。对于device <--> Androiddevice <--> iOS 之间的加密通信,是否可以推荐一种基本的通用加密方法?

谢谢!

【问题讨论】:

    标签: android ios encryption libsodium mbedtls


    【解决方案1】:

    Lib-sodium 是很好的通信加密库。 最终你调用的是 NaCl 方法。

    如果您对 c 或 c++ 等本地调用感到满意,您可以使用。

    我曾在 Android 应用程序中使用 lib sodium 库进行服务器和设备到设备的通信。

    #更新 Android库git链接Libsodium Android

    Gradle 插件implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:1.0.8'

    【讨论】:

    • 您从哪里获得了适用于 Android 的 lib-sodium 库?例如,download.libsodium.org/libsodium/releases 似乎没有 Android 库。
    • 现在编辑我的答案检查
    • 谢谢,这对我有用!我在 build.gradle 中使用了implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:2.0.0'。 (我还必须从自动生成的 AndroidManifest.xml 中删除 android:allowBackup="true"。)
    【解决方案2】:

    Libsodium 是一个独立的库。它不包装任何其他库。

    它是cross-platforms,因此您可以使用它在您的嵌入式设备和 iOS/Android 之间进行通信。它在一个系统上支持的一切都将在另一个系统上以相同的方式工作。

    如果您正在寻找内存占用更小的东西,您可能希望改用libhydrogen

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 2013-07-05
      • 2019-01-03
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多