我想知道AES加密后数据的大小,这样我就可以避免缓冲我的后AES数据(在磁盘或内存上),主要是为了知道大小.
我使用128位AES和javax.crypto.Cipher
和javax.crypto.CipherInputStream
加密.
使用各种输入大小执行的一些测试表明,如下计算的后加密大小是正确的:
long size = input_Size_In_Bytes;
long post_AES_Size = size + (16 - (size % 16));
Run Code Online (Sandbox Code Playgroud)
但我不确定上述公式是否适用于所有可能的输入尺寸.
有没有办法在应用AES加密后计算数据大小 - 事先无需缓冲加密数据(在磁盘或内存上)以了解其加密后大小?