Java-kryptering AES 256-kod

Kryptering är en av de bästa metoderna för att säkra digital data. Kryptering tillåter användaren att fördunkla data genom en kod som endast kan dekrypteras av användaren eller andra betrodda individer. Inte överraskande har programmeringsspråk som Java som används för att hantera nätverkstrafik och nätverksgränssnitt inbyggda bibliotek för att stödja datakryptering. Många krypteringsstandarder finns i Java-biblioteken, inklusive AES 256-standarden.

AES-kryptering

Advanced Encryption Standard etablerades 2002 av National Institute of Standards and Technology som standard för datakryptering. AES-kryptering använder Rijndael-krypteringsalgoritmen, som involverar substitution och permutationsmetoder för att skapa krypterad data från ett meddelande. AES-standarder används ofta för kryptering av företag och myndigheter. Implementeringen kan vara komplex för dem som inte är bekanta med kryptografi, men många programmeringsspråk, inklusive Java, inkluderar bibliotek som gör krypteringstekniken lättillgänglig för användarna.

Dagens video

256-bitars kryptering

Vid kryptering av meddelanden genereras en "nyckel". I de flesta offentliga krypteringsscheman samverkar offentliga och privata nycklar för att säkerställa att användare kan dela krypterad data. AES 256 är en symmetrisk nyckelalgoritm, vilket betyder att samma nyckel krypterar och dekrypterar meddelandet. Nyckeln i fråga kommer att representeras i 256 bitar, vilket innebär att någon som försöker bryta sig in i meddelandet måste räkna ut 256-bitars nyckelvärdet. Tekniken för att dechiffrera en 256-bitars nyckel inom rimlig tid har ännu inte uppfunnits.

AES 256 Java-bibliotek

Java Encryption API krypterar meddelanden och skapar nycklar för programmeraren genom ett gränssnitt med metoder för krypteringsklass. Programmerare skapar ett meddelande för att kryptera, importerar de rätta krypteringsbiblioteken och använder sedan metoderna i dessa bibliotek för att specificera en krypteringsmetod, generera nycklar och kryptera meddelandet. Krypteringsbiblioteken innehåller också sätt att avkoda krypterade meddelanden med samma krypteringsnyckel.

Exempel

Ett enkelt exempel på Java-kodning visar hur man använder krypteringsbibliotek med AES 256-specifikationen. Följande visar hur man skapar kryptering, nyckel och chifferobjekt i Java för att kryptera ett meddelande:

importera java.security.; importera javax.crypto.; importera javax.crypto.spec.; importera java.io.;

class Encrypt{ public static void main (String[] args) throws Exception {

String message="Meddelande att avkoda";

KeyGenerator key = KeyGenerator.getInstance("AES"); key.init (256);

SecretKey s = key.generateKey(); byte[] raw = s.getEncoded();

SecretKeySpec sskey= ny SecretKeySpec (rå, "AES");

Cipher c = Cipher.getInstance("AES");

cipher.init (Cipher. ENCRYPT_MODE, skylt);

byte[] krypterad = c.doFinal (meddelande.getBytes()); System.out.println("krypterad sträng: " + asHex (krypterad));

} }