Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Die XdevHashConverter konvertieren einen Wert aus einer UI-Komponente je nach Converter in einen bestimmten Hash-Wert. Diese Funktionalität kann bei einer XdevFieldGroup genutzt werden um zum Beispiel ein Passwort in die Datenbank als Hash-Wert zu schreiben.

...

  1. Für die Verwendung der HashConverter muss die RapidClipse Framework [AA] Facet eingebunden sein
  2. Werden die Konverter in einer Komponente in einer XdevFieldGroup verwendet, so wird immer gleich der gehashte Wert zurückgeliefert.
  3. Wird ein bereits bestehender Datensatz einer XdevFieldGroup zugewiesen welcher schon einen Hash-Wert besitzt so wird dieser nicht erneut in einen neuen Hash umgewandelt. Dafür sorgt eine interne Prüfung.
    1. Die Prüfung ob es sich bereits um einen Hash handelt oder nicht kann nur über die länge Länge der Wertes HEX-Werte realisiert werden. Wird also ein Passwort beim Neuanlegen eines Datensatzes vergeben welches die exakte länge des eingestellten HashConverters besitzt wird dieser Wert nicht gehasht. Es muss also über Validatoren sichergestellt werden, das Passworter mit exakt dieser Länge nicht vergeben werden können. 
    2. Folgende Längenbegrenzungen gelten für die einzelnen HashConverter:
      1. MD5HashConverter = 32 stellig
      2. SHA1HashConverter = 40 stellig
      3. SHA2HashConverter = 64 stellig
      4. PBKDF2WithHmacSHA1HashConverter = 32 stellig


Anwendung:
  1. HashConverter Instantiieren

    Code Block
    languagejava
    themeEclipse
    linenumberstrue
    MD5HashConverter md5converter = new MD5HashConverter();
    //oder
    SHA1HashConverter sha1HashConverter = new SHA1HashConverter();
    //oder
    SHA2HashConverter sha2HashConverter = new SHA2HashConverter();
    //oder
    PBKDF2WithHmacSHA1HashConverter pbkdf2WithHmacSHA1HashConverter = new PBKDF2WithHmacSHA1HashConverter();


  2. Zuweisen des Konverters zu einem XdevTextField

    Code Block
    languagejava
    themeEclipse
    linenumberstrue
    SHA2HashConverter sha2HashConverter = new SHA2HashConverter();
    
    XdevTextField xdevTextField = new XdevTextField();
    xdevTextField.setConverter(sha2HashConverter);


  3. Abrufen des konvertierten Wertes

    Code Block
    languagejava
    themeEclipse
    linenumberstrue
    Object convertedValue = xdevTextField.getConvertedValue();


  4. Ist das XdevTextField teil einer FieldGroup so wird automatisch beim "speichernSpeichern" der konvertierte (Hash) Wert zurückgeliefert

...