我正在使用 16 字节块大小的 AES 密码。
如果我尝试加密一个 16 字节的字符串,我没有问题,但任何其他长度不是 16 的倍数都会引发异常。
我知道使用 3-DES,您可以将填充类型指定为算法的一部分,并且无需额外工作即可处理(例如 DES/CBC/PKCS5Padding),但是有没有办法用 AES 指定它?
或者我是否需要手动将 pytes 填充到 16 的倍数,然后在解密时剥离它们?这是一个简短的代码示例。
encrypt = Cipher.getInstance("AES", provider);
encrypt.init(Cipher.ENCRYPT_MODE, key) ;
byte[] encrypted = encrypt.doFinal(plainTxt.getBytes()) ;
任何和所有的答复表示赞赏!
在此先感谢, Ciarán