for (int i = 0; i + 16 <= source.length; i += 16) {
mode.update(source, i, ct, i);
}
try {
int unpad = padding.unpad(ct, 0, ct.length);
out = new byte[ct.length - unpad];
System.arraycopy(ct, 0, out, 0, out.length);
} catch (Exception e) {
out = new byte[ct.length];
System.arraycopy(ct, 0, out, 0, out.length);