gpt4 book ai didi

java - 无法初始化 cipher.init()

转载 作者:行者123 更新时间:2023-12-02 01:53:58 25 4
gpt4 key购买 nike

我正在尝试读取一个大小为1KB的文件,然后使用CBC模式下的AES算法对其进行加密和解密。当我尝试初始化密码时,它抛出一个错误。请找到下面的代码。我在密码类中找不到接受“加密模式”、“ key ”和类 IvParameterSpec 的初始化 vector 的 init 方法。我可以看到带有期望参数的 init 方法,例如(int 加密模式、Key key、AlgorithmParameters algoParameters、SecureRandom secureRandom)

我需要将 key 和初始化 vector 转换为所需的类吗?任何进一步深入的见解都会有所帮助。

import sun.security.provider.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import java.io.File;
import java.security.AlgorithmParameters;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidParameterSpecException;

public class AESFileEncryptionDecryption {
public class AES128CBC{
SecretKey secretKey;
Cipher cipher;
SecureRandom secureRandom = new SecureRandom();
byte[] iv = new byte[16];
IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);

{
try {
secretKey = KeyGenerator.getInstance("AES").generateKey();
cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(1,secretKey,ivParameterSpec);
} catch (NoSuchAlgorithmException | NoSuchPaddingException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
File inputFile_1KB = new File("/Users/siddharthsinha/Desktop/input1KB.txt");
File encryptedFile_1KB = new File("/Users/siddharthsinha/Desktop/input1KB.encrypted");
File decryptedFile_1KB = new File("/Users/siddharthsinha/Desktop/input1KB.decrypted.txt");
}
}

enter image description here

最佳答案

您的代码既没有捕获也没有抛出两个可能抛出的异常:

try {
secretKey = KeyGenerator.getInstance("AES").generateKey();
cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(1,secretKey,ivParameterSpec);
} catch (NoSuchAlgorithmException | NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidAlgorithmParameterException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
}

关于java - 无法初始化 cipher.init(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52561005/

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