| Salt-Problem Wie ein paar praktische Versuche gezeigt haben, gibt es bei dem beigelegten Beispielprojekt insofern ein Problem, weil SaltValues verwendet werden. Ein SaltValue ist ein zufällig erzeugter Wert, welcher mit der API-Funktion CryptGenRandom erzeugt wird. CryptGenRandom erzeugte i.d.R. zufälligere Werte als die VB-Rnd-Funktion. Der verwendete Algorithmus hängt vom verwendeten CSP ab. Dieser zufällige Wert wird an das Passwort angehängt um die Übertragung noch sicherer zu machen. SaltValues werden i.d.R. mehrmals während der Übertragung, sofern es sich um dauerhafte Verbindungen(z.B. SSL) handelt, geändert. Am Anfang einer Sitzung können sie auch ohne Probleme unverschlüsselt übertragen werden. Aufgrund der Tatsache, dass sie nur ein Teil des Passwortes sind, besteht hier keine Gefahr. Das Problem im Beispielprojekt besteht jetzt darin, dass wenn man den verschlüsselten Text z.B. in die Zwischenablage kopiert und man anschließend des Programm neustartet, schlägt die Entschlüsselung, des wieder eingefügten Textes, fehlt. Dies liegt daran, dass die verwendete Klasse den SaltValue zwischenspeichert. Während einer Programmsitzung ist es also kein Problem, die Funktionen der Klasse zu nutzen. Will man jedoch Daten beim nächsten Programmaufruf wieder decodieren, so muss man zusätzlich noch den SaltValue zwischenspeichern und beim Programmstart wieder setzen, da ohne ihn eine erfolgreiche Entschlüsselung ja nicht möglich ist. Hierzu sollte man der Klasse die Eigenschaft SaltValue hinzufügen, mit der man dann strSALT lesen und schreiben kann. Der SaltValue kann beim verschlüsselten Text gespeichert werden. |