gpt4 book ai didi

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:47 28 4
gpt4 key购买 nike

我使用 Java 的内置加密库编写了一些(功能性)AES 加密代码,如下所示,但我想使用 256 位 key 。但是,我希望无需用户安装 Unlimited Strength Cryptography Policy 文件即可执行此操作。

现在,我听说使用 BouncyCaSTLe Lightweight API 可以让我做到这一点,但不幸的是,我在理解它时遇到了很多麻烦,并且正在努力寻找任何对我有帮助的文档。

这是我当前的代码,其中'content'是要加密的字节数组:

KeyGenerator kgen = KeyGenerator.getInstance("AES");
int keySize = 128;
kgen.init(keySize);
SecretKey key = kgen.generateKey();
byte[] aesKey = key.getEncoded();
SecretKeySpec aesKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, aesKeySpec);
byte[] encryptedContent = aesCipher.doFinal(content);

我将如何使用 BouncyCaSTLe 轻量级 API 重新实现它?谁能帮助我和/或指出一些简单示例代码的方向?

我也对允许 256 位 key AES 加密而无需用户安装无限强度策略文件的任何其他解决方案感兴趣。

非常感谢!

最佳答案

这个问答是一个有用的起点。

256bit AES/CBC/PKCS5Padding with Bouncy Castle

下一个最好的地方是 LW API 的测试代码,然后是 JCE 提供程序代码。 JCE 提供程序代码是 LW 库的包装器 - 所以如果您想知道如何做,这是查看它的最佳位置。

我所说的 JCE 提供程序代码是指 BC 实现。

关于java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9555023/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com