我有一个大文件,我试图用RSA加密。是的,我知道在这种情况下通常使用混合加密,但我想使用标准公钥加密来查看效率的差异。
为了加密这么大的文件,我明白我必须逐块加密。收到后,说明我的字节数组太大而无法用RSA-2048加密的错误,我将字节数组减少到245字节。一个246字节的字节数组工作正常,但它也只适用于246字节,这是我的问题。我需要使用RSA-2048加密整个文件。
在研究了RSA-2048密码术以更好地理解和逐块加密之后,我仍然对使用RSA-2048实现逐块加密感到困惑。这是我第一次以任何语言实施加密。下面是我的代码,用于使用RSA公钥加密大文件。
有关如何使用RSA逐块加密整个大型文件的任何建议都表示赞赏。
答案 0 :(得分:1)
首先,无论你怎么说,你都不应该使用RSA作为分组密码。如果你在生产代码中这样做并且有人发现了,你很可能会被解雇。
但是...
FileInputStream
。FileOutputStream
。您的代码不会这样做,因为:
您立即返回第一个密文块:
inputfile= cipher.doFinal(block);
return inputfile;