Lige siden version 1.4 , har Java SDK Standard Edition inkluderet Java Kryptografi Extension som standard. Dette giver en samlet ramme for Java-udviklere til at bruge en bred vifte af standard krypteringsalgoritmer i deres ansøgninger . Med en af de standard algoritmer , der kommer med Java Cryptography Extension er ret nemt , og en meget simpel kryptering program kan skabes på kun nogle få dusin linjer for at sikre dine egne datafiler. Hvad du har brug
Computer
Java
Text editor eller Java IDE
Vis Flere Instruktioner
1
oprette FileEncrypter klassen.
public class FileEncrypter {
public static void main ( String [] args ) kaster Undtagelse {
<< insert kode her >> ;
}
}
klassen vil kræve følgende import:
import java . io.File
GO
import java.io.FileInputStream
GO
import java.io.FileOutputStream
GO
import javax . crypto.Cipher
GO
import javax.crypto.KeyGenerator
GO
import javax.crypto.SecretKey
GO
< ; . br /> Der er en række udvidelser og forbedringer , du bør være i stand til at føje til denne klasse på egen hånd, men det vil give en grundlæggende kryptering funktionalitet for dig at opbygge funktioner såsom en brugergrænseflade ovenpå < br >
2
erklære og initialisere variabler , du behøver. I det mindste skal du have en Cipher , en KeyGenerator og SecretKey . Du får også brug for en byte array hver at holde krypteret og ukrypteret data.
byte [ ] plainData
GO
byte [ ] encryptedData
GO
KeyGenerator keygen = KeyGenerator.getInstance ( \\ " DES \\ " )
GO
SecretKey key = keygen.generateKey ()
GO
cipher cipher = Cipher.getInstance ( \\ " DES /ECB/PKCS5Padding \\ " )
GO
cipher.init ( Cipher.ENCRYPT_MODE , key)
GO
Denne funktion vil bruge DES-kryptering , men Java Cryptography Extension omfatter også en række andre ordninger . Du vil også nødt til at initialisere et input og output -fil og befolker plainData vifte af dataene i input -filen.
File f = new File ( \\ " input.txt \\ " )
GO
FileInputStream i = new FileInputStream ( f ) < br /> GO
plainData = new byte [( int) f.length ()]
GO
in.read ( plainData )
< br > 3
Udfør kryptering. Dette er faktisk den letteste opgave for dig at udføre og kan udføres i en enkelt linje.
encryptedData = cipher.doFinal ( plainData )
4
Skriv de krypterede data til en ny fil.
FileOutputStream target = new FileOutputStream (ny File ( \\ " encrypted.txt \\ " ) )
GO
target.write ( encryptedData )
GO
target.close ();