我正在开发一个android应用程序,并且在其中我想使用加密。基本上我想为此目的加密文件,但我担心加密会增加文件的大小。所以你可以帮我告诉我,如果我加密一个1 MB的文件,它的大小将在加密之后变成什么样子。我将使用java进行编程。使用RSA算法加密后,1 MB文件的大小是多少
回答
RSA通常不用于加密数据,它非常慢,加密数据的大小小于密钥大小。除非需要单独的加密和解密密钥,否则不使用RSA。由于RSA密钥大小范围从512位到4094位,数据大小不会容纳1MB。
取而代之,对称加密(如AES)用于加密数据。
由于AES是分组密码,因此需要将加密数据填充到块大小的多倍,即AES中的16字节,因此加密后的数据长度不会小于输入数据长度, 16个字节。
谢谢你的回答zaph。你能建议我使用一些算法来代替RSA来加密和存储文件吗? –
是的,如答案:AES(高级加密标准)。这是目前对称加密的最佳实践和主力。请参阅Java [Class Cipher](https://docs.oracle.com/javase/7/docs/api/javax/crypto/Cipher.html),有几个关于SO的示例。或者使用一体化安全解决方案[JNCryptor](https://github.com/RNCryptor/JNCryptor),您确实需要的不仅仅是原始加密。 – zaph
好的zaph谢谢你的回答,你做了很多帮助。 –
- 1. 加密:RSA算法
- 2. RSA加密大文件
- 3. .NET RSA加密:最小密钥大小?
- 4. RSA加密输出大小
- 5. 大密钥大小的加密算法
- 6. C#RSA加密算法
- 7. WinRT隔离存储的最大大小(MB)是多少?
- 8. 如何使用RSA/AES加密/解密较大的文件
- 9. 使用RSA-1024签名SHA-256摘要:大小是多少?
- 10. iPhone - 使用SecKeyGeneratePair的iOS RSA算法中的最小密钥大小(InBits)
- 11. 如何使用密钥大小和明文长度来计算RSA密文的大小?
- 12. 加密密钥大小和算法
- 13. 如何使用RSA和AES算法对文件进行加密和解密
- 14. 在Python中使用RSA加密文件
- 15. JSEncrypt RSA 2048加密输出大小
- 16. RSA加密数据块大小
- 17. 如何使用RSA加密
- 18. 加密与C++和WinCrypt(RSA算法)库和解密使用C#
- 19. char []的大小是多少?
- 20. RSA算法密钥生成
- 21. ifstream :: ifstream可以读取的最大文件大小是多少
- 22. 如何使用RSA算法加密密码?
- 23. 以字节为单位的RSA签名的大小是多少?
- 24. 具有大密钥大小的RSA加密
- 25. RSA PKCS#1加密与PHP
- 26. 无法解密RSA加密密钥
- 27. 使用块的RSA加密
- 28. 使用加密算法获取常量密钥大小
- 29. CVS可以处理的文件的最大大小是多少?
- 30. 大小为1的数组MB
为什么不试试并让我们知道? –
它会大于1 MB,除此之外,准确答案取决于消息。 –
感谢克拉克的回答,但我想介绍我的想法,目前我现在还没有实施。艾略特也感谢你,但我不明白你的意思是什么“信息”?请澄清。 –