gpt4 book ai didi

java - 使用 Java 加密会导致 NoSuchAlgorithmException

转载 作者:行者123 更新时间:2023-11-30 09:58:20 27 4
gpt4 key购买 nike

这是我的代码的加密部分。它编译正常但在运行时因该异常而失败:

import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

...

byte[] salt = new byte[8];
Random rand = new Random();
rand.nextBytes(salt);

PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithSHAAndTwofish-CBC");
SecretKey key = keyFactory.generateSecret(keySpec);
PBEParameterSpec paramSpec = new PBEParameterSpec(salt, 1000);

Cipher cipher = Cipher.getInstance("PBEWithSHAAndTwofish-CBC");
cipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
byte[] ciphertext = cipher.doFinal(plaintext);

这个算法不是Java 1.5自带的吗?我不介意使用另一种算法,我只是不知道有什么可用的。我希望我不必使用像 bouncycaSTLe 这样的外部库,因为我已经努力了几天试图让它工作无济于事(通过将它包含在我的 .jar 应用程序中它会触发“无效的签名文件摘要”错误) .

最佳答案

如果您不想依赖某些外部库(例如 BouncyCaSTLe),那么您可能必须使用其他密码。

参见 the documentation about Sun crypto providers有关开箱即用的支持内容的更多详细信息。

关于java - 使用 Java 加密会导致 NoSuchAlgorithmException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009996/

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