我正在開發一個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,除此之外,準確答案取決於消息。 –
感謝克拉克的回答,但我想介紹我的想法,目前我現在還沒有實施。艾略特也感謝你,但我不明白你的意思是什麼「信息」?請澄清。 –