Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte prázdny textový súbor s názvom " Encrypter.java " a vložte nasledujúci počiatočný kód do neho :
importovať java.io.File , import java.io.FileInputStream , import java.io.FileNotFoundException , import java.io.FileOutputStream , import java.io.IOException , import java.io.InputStream , import java . io.OutputStream , import java.security.InvalidAlgorithmParameterException , import java.security.InvalidKeyException , import java.security.NoSuchAlgorithmException , import java.security.spec.AlgorithmParameterSpec , import javax.crypto.Cipher , import javax.crypto.CipherOutputStream , import javax . crypto.KeyGenerator , import javax.crypto.NoSuchPaddingException , import javax.crypto.SecretKey , import javax.crypto.spec.IvParameterSpec ,
public class Encrypter {
public static void šifrovanie ( SecretKey kľúč , InputStream v , OutputStream out ) { }
public static void main ( String [ ] args ) { } }
To má dve metódy : hlavnú metódu , ktorá bude trvať dva argumenty - súbor zdrojový súbor a cieľový - a metódu šifrovania , ktorá trvá dva prúdy a šifrovací kľúč
2
vložte nasledujúci v zátvorke hlavného metódy :
súbor Infil . = new File ( args [ 0 ] ) ; súboru outfile = new File ( args [ 1 ] ) ;
try { SecretKey kľúč = KeyGenerator.getInstance ( " DES " ) GenerateKey ( ) ; . Encrypter.encrypt ( kľúč , nový FileInputStream ( inSoubor ) , nové FileOutputStream ( outSoubor ) ) ; } catch ( FileNotFoundException e ) { } catch ( NoSuchAlgorithmException e ) { }
Tým sa vytvorí tajný kľúč pre Data Encryption Standard ( DES ) spôsob šifrovania a okamžite volá metódu šifrovania , spolu s kľúčom a prúd pre zdrojové a cieľové súbory
3
vložte nasledujúci do metódy zašifrovať : .
try { byte [ ] = new byte aj v [ ] { (byte ) 0x8e , 0x12 , 0x39 , (byte ) 0x9C , 0x07 , 0x72 , 0x6F , 0x5A } ;
AlgorithmParameterSpec paramSpec = new IvParameterSpec ( iv) ; Cipher c = Cipher.getInstance ( " DES/CBC/PKCS5Padding " ) ; c.init ( Cipher.ENCRYPT_MODE , kľúč , paramSpec ) ;
out = new CipherOutputStream ( z , c ) , int count = 0 , byte [ ] = new byte bufferu [ 1024 ] ;
while ( ( count = in.read ( vyrovnávacia pamäť ) ) > = 0 ) { out.write ( buffer , 0 , count ) ; } out . close ( ) ; } catch ( IOException e ) { } catch ( InvalidAlgorithmParameterException e ) { } catch ( InvalidKeyException e ) { } catch ( NoSuchAlgorithmException e ) { } catch ( NoSuchPaddingException e ) { }
nastaví inicializačný vektor použiť pre DES šifry . Dáta sú čítané z InputStream , šifrované a napísaná 1024 bajtov v čase , čo umožňuje aj multi - gigabyte súbory , ktoré sa majú účinne šifrovaná bez preťažovania pamäti .
4
Uložte svoju prácu . Ak ste použili Java integrované vývojové prostredie ( IDE ) , môžete si zostaviť kliknutím na tlačidlo " Build " . V opačnom prípade budete musieť spustiť nasledujúci príkaz príkazového riadka ku kompilácii :
javac Encrypter.java
5
Ak chcete šifrovať súbor , zadajte nasledujúci príkaz do príkazu výzva :
java šifrovanie sourceFile destinationFile
Nahradiť " sourceFile " a " destinationFile " s názvami súborov potrebných
.