Ända sedan version 1.4 , har Java SDK Standard Edition ingår Java Cryptography Extension som standard . Detta ger en enhetlig ram för Java- utvecklare att använda en mängd olika standard krypteringsalgoritmer i sina ansökningar . Använda en av de vanliga algoritmer som följer med Java Cryptography Extension är ganska lätt , och en mycket enkel kryptering program kan skapas på bara några tiotal rader för att säkra dina egna datafiler . Saker du behöver
Computer
Java
textredigerare eller Java IDE
Visa fler instruktioner
1
Skapa FileEncrypter klassen .
public class FileEncrypter {
public static void main ( String [] args ) kastar Undantag {
<< insert kod här >> ,
}
}
klassen kommer att kräva följande importen :
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 finns ett antal tillägg och förbättringar du ska kunna lägga till den här klassen på egen hand , men det kommer att ge en grundläggande kryptering funktionalitet för dig att bygga funktioner som ett användargränssnitt ovanpå
Sida 2
Deklarera och initiera variabler du behöver . Vid minsta , behöver du ett chiffer , en keygenerator och en SecretKey . Du behöver också en bytearray vardera att hålla krypterade och okrypterade data .
byte [ ] plainData
GO
byte [ ] encryptedData
GO
keygenerator keygen = KeyGenerator.getInstance ( \\ " DES \\ " )
GO
SecretKey tangent = keygen.generateKey ( )
GO
Cipher chiffer = Cipher.getInstance ( \\ " DES /ECB/PKCS5Padding \\ " )
GO
cipher.init ( Cipher.ENCRYPT_MODE , nyckel )
GO
Den här funktionen kommer att använda DES -kryptering , men Java Cryptography Extension även en mängd andra system . Du kommer också att behöva initiera en ingång och utgång filen och befolka plainData array från data i indatafilen .
File f = new File ( \\ " input.txt \\ " )
GO
FileInputStream i = new FileInputStream ( f )
GO
plainData = new byte [ ( int ) f.length ( ) ]
GO
in.read ( plainData ) ,
3
utföra krypteringen . Detta är faktiskt den enklaste uppgift för dig att utföra och kan göras på en enda rad .
encryptedData = cipher.doFinal ( plainData ) ,
4
Skriv de krypterade data till en ny fil .
FileOutputStream target = ny FileOutputStream ( new File ( \\ " encrypted.txt \\ " ) )
GO
target.write ( encryptedData )
GO
target.close ( ) ;