为什么我得到java.security.InvalidKey异常?

时间:2017-11-14 04:54:15

标签: java aes whatsapp

我正在尝试解密whatup db文件(我将其复制到我的电脑上,然后从我的电脑上运行,在linux下)。

初始化向量和键是:

private byte[] key = { (byte) 141, 75, 21, 92, (byte) 201, (byte) 255,
        (byte) 129, (byte) 229, (byte) 203, (byte) 246, (byte) 250, 120,
        25, 54, 106, 62, (byte) 198, 33, (byte) 166, 86, 65, 108,
        (byte) 215, (byte) 147 };


private final byte[] iv = { 0x1E, 0x39, (byte) 0xF3, 0x69, (byte) 0xE9, 0xD,
        (byte) 0xB3, 0x3A, (byte) 0xA7, 0x3B, 0x44, 0x2B, (byte) 0xBB,
        (byte) 0xB6, (byte) 0xB0, (byte) 0xB9 };

当我运行此代码时:

  Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  SecretKeySpec secret = new SecretKeySpec(key, "AES");
  IvParameterSpec vector = new IvParameterSpec(iv);
  cipher.init(Cipher.DECRYPT_MODE, secret, vector);

我在init函数上遇到异常: " java.security.InvalidKeyException: Illegal key size"

我用过这篇文章:

Get all messages from Whatsapp

有什么问题?

1 个答案:

答案 0 :(得分:0)

我猜JDK密钥大小不允许用大小超过128位的密钥加密。