Relevanz dieser Software (dieses Paketchens) erschließt sich nicht, --He3nry Disk. 17:34, 29. Mär. 2010 (CEST)
Die Java Cryptography Extension (JCE) ist eine Java Programmierschnittstelle und Framework für kryptographische Aufgaben wie Verschlüsselung, Kommunikations-Authentifizierung und Schlüsselverwaltung. Seit dem JDK 1.4 ist sie Teil der Java Platform, Standard Edition, davor war sie (ab JDK 1.2) als optionales Paket erhältlich.
Die Java Cryptography Extension basiert auf derselben Architektur wie die Java Cryptography Architecture (JCA) und wird als Teil der JCA gesehen.
Funktionalität
Die JCE basiert auf sogenannten Kryptographie Providern, das sind Implementierungen von verschiedenen, durch die JCE abstrahierten kryptographischen Konzepten. Neue Konzepte können leicht hinzugefügt werden. Beispiele für derartige Konzepte sind: symmetrische und asymetrische Schlüssel, Block- und Streamschlüssel, Schlüsselerzeugung und Schlüsselverwaltung, Sichere Streams, Sichere Objekte, Digitale Signaturen, Kommunikationsauthentifizierungen.
Beispiel
Das folgende Beispiel zeigt die Verschlüsselung und Entschlüsselung eines Strings mittels Blowfish Algorithmus:
...
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, KeyGenerator.getInstance("Blowfish").generateKey());
// Umwandlung des Strings nach Bytes basierend auf UTF-8
byte[] utf8Bytes = "Zu verschlüsselnder String".getBytes("UTF8");
// Verschlüsselung
byte[] encryptedBytes = cipher.doFinal(utf8Bytes);
// Base64 encoding um wieder einen String zu bekommen
String encryptedString = new sun.misc.BASE64Encoder().encode(encryptedBytes);
// Schlüssel für Entschlüsselung vorbereiten
cipher.init(Cipher.DECRYPT_MODE, KeyGenerator.getInstance("Blowfish").generateKey());
// Rückumwandlung in Byte-Array
encryptedBytes = new sun.misc.BASE64Decoder().decodeBuffer(encryptedString);
// Entschlüsselung
utf8Bytes = cipher.doFinal(dec);
// Rückumwandlung in einen String
return new String(utf8Bytes, "UTF8");
...
Weblinks
Literatur
- Jason Weiss: Java Cryptography Extensions. Practical Guide for Programmers. Morgan Kaufmann, 2004, ISBN 978-0-12-742751-5.