PasswordManager Datenbank Import


Das Programm erzeugt eine Importdatei für die PasswordManager App.

Finden sie weitere Informationen zur App und diesem Programm hier: AndroidCrypto Android PasswordManager


Verschlüsselung

Die Daten für den Import müssen in einem festgelegten Format erfasst werden, wobei die einzelnen Felder mit einer doppelten Raute '##' getrennt werden.

Hier zwei einfache Beispiele: (Favorit = 0 = kein Favorit, 1 = als Favorit angezeigt)

Kategorie##Beschreibung##Login Name##Login Passwort##Favorit
Mail##GMX Mail##mustername@gmx.de##passwort123##1
App##Barmer Gesundheits App##kein Login Name##qqwwee##0

Bitte vergeben Sie ein Passwort, das Sie auch in der App beim Import angeben müssen, danach wird das Passwort nicht mehr benötigt.

Geben Sie das Passwort ein (Minimum 3 Zeichen):

Geben Sie die Daten wie oben beschrieben ein:



drücken Sie den 'verschlüsseln' Button, dann wird eine Datei 'ciphertext.cpwm.txt' im Downloadordner (bzw. dem gewählten Verzeichnis) erstellt:

Diese Daten stehen in der erzeugten Datei:




Senden Sie die Datei z.B. per Email an das Android Smartphone mit der PasswordManager App, speichern die Datei in den Download Ordner und importieren Sie die Datei innerhalb der App.

Entschlüsselung

Wenn Sie die obigen Daten wieder entschlüsseln möchten geben Sie das Passwort erneut ein und kopieren Sie die obigen Daten aus der Zwischenablage in das Feld.

Geben Sie das Passwort ein (Minimum 3 Zeichen):

Kopieren Sie die verschlüsselten Daten (ciphertext) in das folgende Feld:





drücken Sie den 'entschlüsseln' Button:


entschlüsselte Daten:


Der Ciphertext ist wie folgt aufgebaut (für die Technik Interessierten): (Base64) salt : (Base64) nonce : (Base64) ciphertext : (Base64) gcmTag

Hinweis: das Programm benutzt den PBKDF2 Algorithmus mit SHA-256 und 15000 Iterationen für die Schlüsselerzeugung sowie AES 256 im GCM Modus für die Ver- bzw. Entschlüsselung.

Der komplette Code steht hier zur Verfügung: https://github.com/java-crypto/AndroidCrypto/tree/main/PasswordManager.

Die Dateierzeugung funktioniert mittels 'FileSaver.js', für weitere Details siehe: https://github.com/eligrey/FileSaver.js.