Używam CipherOutputStream
do szyfrowania i odszyfrowywania plików w java, ale plik wejściowy> 117 bajtów nie może szyfrować. Używam klucza publicznego algorytmu RSA o długości 1024 bajtów.Jak wykonać szyfrowanie i deszyfrowanie pliku?
cipher.init(Cipher.ENCRYPT_MODE, secKey);
String cleartextFile = "cleartext.txt";
String ciphertextFile = "ciphertextSymm.txt";
FileInputStream fis = new FileInputStream(cleartextFile);
FileOutputStream fos = new FileOutputStream(ciphertextFile);
CipherOutputStream cos = new CipherOutputStream(fos, cipher);
byte[] block = new byte[8];
int i;
while ((i = fis.read(block)) != -1) {
cos.write(block, 0, i);
}
cos.close();
Jak szyfrowania input
plików length> 117 bajtów?
wow, to świetnie. Jakie jest pytanie? –
RSA ** nie jest ** przeznaczony do szyfrowania plików. Po prostu użyj algorytmu symetrycznego (AES, Blowfish, itp.) Do zaszyfrowania pliku i użyj RSA tylko na tym kluczu symetrycznym, jeśli potrzebujesz szyfrowania symetrycznego. – zakinster