【问题标题】:How can I encrypt/decrypt in java and encrypt/decrypt in python? I've tried with Libsodium library [closed]如何在 java 中加密/解密并在 python 中加密/解密?我尝试过使用 Libsodium 库 [关闭]
【发布时间】:2018-02-11 18:12:48
【问题描述】:
我正在尝试在 Android 上使用 Libsodium 库 (https://download.libsodium.org/doc/) 使用 AES 算法加密数据。我有几个问题。第一个是了解库,我找不到库的Java实现的清晰解释,如果我不知道如何使用这个库的algorytm,我就无法使用它。回到问题:我能做到吗?我应该在展位语言上使用相同算法的实现,还是应该找到像 libsodium 这样的跨语言库,以便我知道算法以相同的方式实现?
【问题讨论】:
标签:
java
android
python
encryption
cryptography
【解决方案1】:
AES 算法是标准化的,但它的使用方式却不是。所以要么你必须设计你自己的协议,要么你可以使用现有的协议。安全地使用 AES 可能会很棘手,因此通常应该首选使用库。但是,有时无法验证库/容器格式是否安全,或者它们可能不足以满足特定用例。在这种情况下,除了自己实现并可能设计一个协议外,别无他法。
您可能想看看 Fernet,它也在 Java 8 中用 Java 实现。