不带填充的 Java AES
在没有自动填充的情况下,AES加密和解密16字节数组的最简单方法是什么?我已经找到了使用外部库的解决方案,但如果可能的话,我想避免这种情况。
我当前的代码是
SecretKeySpec skeySpec = new SecretKeySpec(getCryptoKeyByteArray(length=16)); // 128 bits
Cipher encryptor = Cipher.getInstance("AES");
encryptor.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = encryptor.doFinal(plain);
如何防止填充?数据始终是固定长度,并包含自己的填充。我怎样才能允许为16字节而不导致成为32字节?plain
plain
encrypted