我们需要用 Java 进行一些 Rijndael 开发。
对文章、图书馆等有什么帮助的建议吗?
关于密钥库维护以及如何安全存储密钥的任何指示?
编辑:
它需要是开源的。本质上,它只是使用 Rijndael 对数据进行标准加密/解密。
原文由 rbrayb 发布,翻译遵循 CC BY-SA 4.0 许可协议
我们需要用 Java 进行一些 Rijndael 开发。
对文章、图书馆等有什么帮助的建议吗?
关于密钥库维护以及如何安全存储密钥的任何指示?
编辑:
它需要是开源的。本质上,它只是使用 Rijndael 对数据进行标准加密/解密。
原文由 rbrayb 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于一个很棒的免费图书馆,我强烈推荐 BouncyCastle。 它得到积极维护,质量很高,并且有大量的代码示例。对于参考文档,您将不得不更多地依赖一般的 JCE 文档。
我不能说我们使用什么库来满足 FIPS 认证要求。但是 CryptoJ 的替代品要便宜得多。
通常,我建议为您使用 Rijndael 等对称密码加密的每条消息生成一个新密钥,然后使用 RSA 等非对称算法加密该密钥。这些私钥可以存储在受密码保护的基于软件的密钥存储中,例如 PKCS #12 或 Java 的“JKS”,或者为了更好的安全性,存储在“智能卡”硬件令牌或其他加密硬件模块中。
原文由 erickson 发布,翻译遵循 CC BY-SA 2.5 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
Java 包括开箱即用的 AES。 Rijndael 是 AES。您不需要任何外部库。你只需要这样的东西:
就是这样,用于加密/解密。如果您正在处理大量数据,那么您最好读取 16 字节的倍数的块并调用更新而不是 doFinal(您只需在最后一个块上调用 doFinal)。