Startseite

Guten Tag und herzlich willkommen auf meiner Seite.

Auf Grund der Datenmenge habe ich die JavaCrypto-Webseite in 2 Teile aufgeteilt.

Auf dieser Webseite (http://java-crypto.bplaced.net) findet Ihr viele Informationen rund um Java und die Einbindung von Kryptografie-Routinen in „echte“ Programme. Die Webseite mit sehr vielen Programmen und Lösungen zur Kryptografie erreicht Ihr über den Link http://javacrypto.bplaced.net.

Da ich kürzlich auf intelliJ IDEA als Java Entwicklungsumgebung gewechselt bin zeige ich Euch einige Tipps und Tricks, diese findet Ihr unter dem Punkt intelliJ IDEA.

Für ein JavaCrypto Projekt habe ich JTextPane benutzt und gelernt, das es umständlicher zu benutzen ist als z.B. eine TextArea. Die Programmierung ist in Verbindung mit dem RTF-Dateiformat aufwändig und ich zeige Euch die Text-Formatierungs-Möglichkeiten (z.B. fett, kursiv, Schrift, Schriftfarbe und Schriftgröße), eine Such-Funktion, ein Undo-Manager, Laden und Speichern, an kleinen Beispielen für jede Formatierung. Alle diese Beispiele findet Ihr unter dem Punkt JTextPane Formatierung. Um das Menü nicht zu überfrachten habe ich weitere Beispiele rund um die JTextPane in der Rubrik JTextPane diverses erfasst.

Da der Bitcoin komplett auf Kryptographieroutinen aufbaut, widme ich ihm eine eigene Rubrik namens Bitcoin. In vielen Beispielen lernt Ihr die Basics zum Bitcoin. Selbstverständlich werdet Ihr auch mit echten Bitcoins arbeiten und diese transferieren – allerdings arbeiten wir damit komplett im kostenlos nutzbaren Testnetzwerk.

Für die weitergehende Beschäftigung mit dem Bitcoin arbeite ich mit der fertigen Java-Bibliothek BitcoinJ und gebe Euch in vielen Beispielen Lösungen und Hilfestellungen an die Hand.

In der Rubrik BitcoinJ Clients zeige ich Euch fertige Lösungen, welche mit einer Benutzeroberfläche ausgestattet sind (meistens auf JavaFx-Basis) und ein komfortables Arbeiten ermöglichen.

Eine interessante Nebenanwendung sind die Speicherung von Prüfsummen in Form eines Zeitstempels („Timestamp“). In den beiden Rubriken „BitcoinJ Timestamp“ und „Timestamping“ zeige ich Euch funktionsfähige Lösungen.

Üblicherweise verlassen wir uns auf die richtige Arbeit von fertigen Methoden, aber es ist immer besser, die Methoden einem ausgiebigen Test zu unterziehen. Damit die Tests nachvollziehbar bleiben gibt es fertige Testdatensätze, die sogenannten Known Answer Tests („KAT“). Hier zeige ich Euch praktische Beispiele zur Nutzung.

Da jeder Kryptografie-Programmierer früher oder später über „Zertifikate und Schlüsselspeicher“ stolpert, zeige ich Euch in einigen Artikeln die programmiertechnische Umsetzung unter Java.

Mich stört es immer, wenn ich auf Webseiten eine Lösung mit Quelltext präsentiert bekomme und diese dann in meiner Umgebung nicht funktioniert. Daher stelle ich grundsätzlich den vollen Sourcecode mit allen Imports und gegebenenfalls eingebundenen (externen) Bibliotheken zur Verfügung, damit Ihr die Beispiele bei Euch zum Laufen bekommt. Alle Quelltexte findet Ihr in meinem Github-Depot (https://github.com/java-crypto), wo Ihr sie rubrikweise als gezippte Datei herunterladen könnt.

Da viele Kryptographie-Aufgaben Plattform übergreifend gelöst werden müssen beschäftige ich mich in einem separaten Artikel Cross platform cryptography mit diesem Thema.

Die Erst-Entwicklung von Kryptographie-Programmen auf der Seite http://javacrypto.bplaced.net mache ich mittels Eclipse und Java 8 (Build 181 und höher) und die Anwendungen auf der Seite http://java-crypto.bplaced.net werden mit intelliJ IDEA mit eingebauter Java-Umgebung Open Java 11 programmiert. Alle Programme werden zusätzlich unter Java 11 getestet und wo notwendig angepasst. Mein Github-Depot enthält entweder 2 Versionen oder Programme, die ohne Anpassung unter Java 8 und Java 11 lauffähig sind.

Gerne lese ich Eure Anmerkungen, Kommentare und Anregungen per Email unter javacrypto@gmx.de und nun „happy secret coding“ :-).

Michael

PS: Nahezu alle Beispiele und Programme von mir veröffentliche ich unter der „UNLICENCE“-Lizenz, die Erläuterungen hierzu findet Ihr auf der separaten Lizenz-Seite.

Letzte Bearbeitung: 07.12.2020