AES加密Cipher.init()崩溃

时间:2017-11-02 13:08:52

标签: java encryption aes encryption-symmetric

我试图在Java中使用AES加密文件,但它无法正常工作。我放了一些印刷品来看它失败的地方,前两个印刷但不是第三个。我检查了密钥和IV是正确的大小,分别是256位和128位。如果它们都有效,我不知道还有什么可能出错。我的代码中有任何明显的错误吗?我以前没有这样做过。非常感谢任何帮助!

public static String encryptAES(byte[] data, byte[] key, byte[] iv) throws Exception {
    Key k = new SecretKeySpec(key, "AES");
    System.out.println("key set");

    Cipher c = Cipher.getInstance("AES/CBC/PKCS5PADDING");
    System.out.println("cipher created");

    c.init(Cipher.ENCRYPT_MODE, k, new IvParameterSpec(iv));
    System.out.println("cipher initialised");

    byte[] encryptedDataBytes = c.doFinal(data);
    String encryptedData = Base64.getEncoder().encodeToString(encryptedDataBytes);
    return encryptedData;
}

0 个答案:

没有答案