Helt siden versjon 1.4 , har Java SDK Standard Edition omfattet Java Cryptography Extension som standard. Dette gir et enhetlig rammeverk for Java- utviklere å bruke en rekke standard krypteringsalgoritmer i sine søknader . Ved hjelp av en av de standard algoritmer som følger med Java Cryptography Extension er ganske lett , og en veldig enkel kryptering program kan lages i bare et par dusin linjer for å sikre dine egne datafiler. Du trenger
Computer
Java
Tekst editor eller Java IDE
Vis flere instruksjoner
en
opprette FileEncrypter klassen .
public class FileEncrypter {
public static void main ( String [] args ) throws Exception {
<< insert kode her >> ;
}
}
klassen vil kreve 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 /> det finnes en rekke utvidelser og forbedringer bør du være i stand til å legge til denne klassen på egen hånd , men det vil gi en grunnleggende kryptering funksjonalitet for deg å bygge funksjoner som et brukergrensesnitt på toppen av
2
Erklærer og initialisere variablene du trenger. På minimum , trenger du en Cipher , en keygenerator og en SecretKey . Du trenger også en byte array hver for å holde den krypterte og ukrypterte data .
byte [ ] plainData
GO
byte [ ] encryptedData
GO
keygenerator keygen = KeyGenerator.getInstance ( \\ " DES \\ " )
GO
SecretKey key = keygen.generateKey ( )
GO
Cipher siffer = Cipher.getInstance ( \\ " DES /ECB/PKCS5Padding \\ " )
GO
cipher.init ( Cipher.ENCRYPT_MODE , key )
GO
Denne funksjonen vil bruke DES-kryptering , men Java Cryptography Extension inkluderer også en rekke andre ordninger . Du trenger også å starte en input og output filen og fylle plainData matrisen fra dataene i input-filen .
File f = new File ( \\ " input.txt \\ " )
GO
FileInputStream i = nye FileInputStream ( f) < br /> GO
plainData = new byte [ ( int ) f.length ( ) ]
GO
in.read ( plainData ) ;
3
Utfør kryptering. Dette er faktisk den enkleste oppgaven for deg å utføre og kan utføres på en enkelt linje.
encryptedData = cipher.doFinal ( plainData ) ;
4
Skriv de krypterte data til en ny fil .
FileOutputStream target = new FileOutputStream (new File ( \\ " encrypted.txt \\ "))
GO
target.write ( encryptedData )
GO
target.close ();