K07 Text in einem QR-Code Bild

Mit der Verbreitung von Smartphones und deren Kamera kamen die QR-Code Bilder (* siehe unten) auf, welche mit dem Handy abfotografiert wurden und dann direkt die eingebettete Information anzeigten. In den meisten Fällen war im Bild die Adresse einer Webseite „versteckt“, so das die URL sehr schnell und einfach aufgerufen werden konnte.  Ein Beispiel dafür ist dieses Bild, welches die Information „K07 QR-Code im Bild“ enthält:

Wie auch bei anderen Beispiele dieser Rubrik ist das Programm nicht von mir geschrieben worden, sondern vom Autor Rajeev Singh, welcher die Funktionsweise in 2 Blog-Artikeln beschreibt (https://www.callicoder.com/generate-qr-code-in-java-using-zxing/ und https://www.callicoder.com/qr-code-reader-scanner-in-java-using-zxing/); den Original-Quellcode findet Ihr in seinem Github-Archiv https://github.com/callicoder/qr-code-generator-and-reader).

Für die eigentliche Funktionalität werden zwei externe Bibliotheken des Google ZXING-Projektes genutzt, dessen Projektseite Ihr hier erreichen könnt: https://github.com/zxing/zxing (Ihr benötigt sowohl core-3.4.0.jar als auch javase-3.4.0.jar). Bitte beachtet, das die Bibliotheken unter der Apache 2.0-Lizenz bereitgestellt sind (siehe unten).

Das Programmpaket besteht aus 2 Java-Dateien, eine für die Erzeugung eines QR Code-Bildes (k07a_QRCodeGenerator.java) und die andere zum Auslesen des eingebetteten QR-Codes (k07b_QRCodeReader.java). Die Version in meinem Github-Archiv habe ich geringfügig angepasst (Ausgabe des Programm-Names und deutsche Sprache).

Hier die Konsolenausgabe:

So sieht das Leseprogramm aus:

Auch hier die Ausgabe auf der Konsole:

* Hinweis: Das Wort „QR Code“ ist ein eingetragenes Warenzeichen der DENSO WAVE INCORPORATED, zu Details siehe: http://www.denso-wave.com/qrcode/faqpatent-e.html.

Das gesamte Programm steht unter der Apache 2.0 Lizenz, deren Wortlaut dem Paket beiliegt und den ich hier noch einmal wiedergebe: Apache 2.0-Lizenz.

Alle Quellcodes zur Steganographie findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/K-Steganographie. Alle Programme sind sowohl unter Java 8 als auch unter Java 11 lauffähig.

Letzte Aktualisierung: 09.11.2019