2016-03-14 26 views
-2

我正在开发一个android应用程序,并且在其中我想使用加密。基本上我想为此目的加密文件,但我担心加密会增加文件的大小。所以你可以帮我告诉我,如果我加密一个1 MB的文件,它的大小将在加密之后变成什么样子。我将使用java进行编程。使用RSA算法加密后,1 MB文件的大小是多少

+2

为什么不试试并让我们知道? –

+1

它会大于1 MB,除此之外,准确答案取决于消息。 –

+0

感谢克拉克的回答,但我想介绍我的想法,目前我现在还没有实施。艾略特也感谢你,但我不明白你的意思是什么“信息”?请澄清。 –

回答

0

RSA通常不用于加密数据,它非常慢,加密数据的大小小于密钥大小。除非需要单独的加密和解密密钥,否则不使用RSA。由于RSA密钥大小范围从512位到4094位,数据大小不会容纳1MB。

取而代之,对称加密(如AES)用于加密数据。

由于AES是分组密码,因此需要将加密数据填充到块大小的多倍,即AES中的16字节,因此加密后的数据长度不会小于输入数据长度, 16个字节。

+0

谢谢你的回答zaph。你能建议我使用一些算法来代替RSA来加密和存储文件吗? –

+0

是的,如答案:AES(高级加密标准)。这是目前对称加密的最佳实践和主力。请参阅Java [Class Cipher](https://docs.oracle.com/javase/7/docs/api/javax/crypto/Cipher.html),有几个关于SO的示例。或者使用一体化安全解决方案[JNCryptor](https://github.com/RNCryptor/JNCryptor),您确实需要的不仅仅是原始加密。 – zaph

+0

好的zaph谢谢你的回答,你做了很多帮助。 –