Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AES 256跨平台加密_Android_Ios_Encryption_Aes - Fatal编程技术网

Android AES 256跨平台加密

Android AES 256跨平台加密,android,ios,encryption,aes,Android,Ios,Encryption,Aes,我正在跨平台(IOS、ANDROID)库上工作。现在,当我尝试向image对象添加加密时,它在iOS中添加了16个字节,在Android中添加了大约8KB。问题就在这里。为什么会这样?有谁能解释一下为什么这种填充有区别。 基本上,我将图像数据分成10240字节的块。如果我给它添加加密,返回的大小是10256字节,但在Android中,它是用18699字节加密的。那么,我如何计算跨平台返回的字节中的这种不匹配。请通过在问题中编辑它们来显示代码的必要部分。1)如果使用PKCS#7填充,则加密数据将是

我正在跨平台(IOS、ANDROID)库上工作。现在,当我尝试向image对象添加加密时,它在iOS中添加了16个字节,在Android中添加了大约8KB。问题就在这里。为什么会这样?有谁能解释一下为什么这种填充有区别。
基本上,我将图像数据分成10240字节的块。如果我给它添加加密,返回的大小是10256字节,但在Android中,它是用18699字节加密的。那么,我如何计算跨平台返回的字节中的这种不匹配。

请通过在问题中编辑它们来显示代码的必要部分。1)如果使用PKCS#7填充,则加密数据将是块大小的倍数,这可能需要添加额外的块。2) 如果Android数据大8KB,这可能是因为他们添加了加密数据的编码,可能是Base64或Hex。加密不会改变数据的大小,尽管使用填充可能会给数据添加额外的块。@Zaph:谢谢您提供的信息。您能告诉我如何在iOS中为它添加额外的块吗?额外的块就是为什么输入10240字节会得到10256。如果数据正好是块大小的倍数,则必须添加额外的块(对于PKCS#7填充)。有几种AES实现:您是作者还是在使用库?那个图书馆根本不应该使用,它不安全。