>我需要加密一个文件(4kb(,但是当我尝试使用RSA加密它时,它显示错误:
大小不得大于 256 字节。
是否有机会使用RSA算法加密大型数据?
如果我没记错的话,您需要每 256 个字节单独加密并将它们分组到一个数组中。
在 Java 中,您可以执行以下操作:
private List<byte[]> encryptFile(String filename) throws IOException, IllegalBlockSizeException, BadPaddingException, NoSuchAlgorithmException, NoSuchPaddingException {
byte[] bytesFromFile = new byte[256];
List<byte[]> listToReturn = new ArrayList();
FileInputStream fis = new FileInputStream(new File(filename));
while(fis.read(bytesFromFile) > 0) {
// insert cipher of your choice
listToReturn.add(Cipher.getInstance("").doFinal(bytesFromFile));
}
return listToReturn;
}