tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1081
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    awaiK Tutorials.de Gastzugang
    Hallo,

    ich bin dabei ein Login Formular für eine Anwendung zu schreiben. Die Passwörter möchte ich mit der Klasse Rfc2898DeriveBytes hashen und in der Datenbank abspeichern. Als Datenbank wird ein SQL Server 2005 verwendet.

    Die Methode GetBytes() bzw. die Eigenschaft Salt gibt mir den Hash und den Salt in Form eines Byte Arrays zurück. Ich weiß aber nicht welchene Datentyp ich in der Tabelle verwenden muss um diese Arrays zu speichern. Das konvertieren in int oder long bringt mich leider auch nicht weiter, da das Byte Array zu groß ist.

    Ich hoffe ihr könnt mir helfen. Vielen Dank im vorauß.

    EDIT: Außerdem kann man mit der Klasse direkt in einem Rutsch das Ganze iterieren.
    Geändert von awaiK (30.09.08 um 19:32 Uhr)
     

  2. #2
    calvin65 calvin65 ist offline Mitglied Bronze
    Registriert seit
    Nov 2005
    Beiträge
    31
    Hallo awaik,

    innerhalb des SQL-Servers bieten sich dafür "binary" und "varbinary" an.
    Wenn du immer die gleiche Länge für die Werte hast würde ich binary in der entsprechenden Länge definieren und fertig ist. Sollten sie sich unterscheiden wird dir wohl nichts anderes übrig bleiben als varbinary(MAX) zu verwenden.

    Warum verwendest du eigentlich Rfc2898DeriveBytes? Das ist ja keine eigentliche Hashfunktion, sondern ein Schlüsselgenerator.
    Reicht eine einfache Hashfunktion wie aus der SHA-Familie nicht? Bei denen hättest du immer eine feste Länge der Ausgabe.
     
    MfG Calvin

  3. #3
    awaiK Tutorials.de Gastzugang
    Hi,

    vielen Dank für deine Antwort, werde es sofort umsetzen.

    Vermutlich würde ein MD5 oder SHA Hash reichen, doch ich möchte einen Salt benutzen, darum verwende ich diese Klasse. Ich kann der GetBytes Methode einden Wert übergeben, welcher bestimmt wie groß der zurückgegebene Schlüssel ist. D.h eine feste Länge ist ebenfalls gegeben.
     

  4. #4
    awaiK Tutorials.de Gastzugang
    Hallo calvin65,

    das speichern des Byte Arrays scheint zu funktionieren.
    Leider stehe ich jetzt vor dem Problem dieses Array wieder auszulesen, bisher habe ich SqlDataReader dafür benutzt. Doch dieser scheint keine passende Methode anzubieten um die Daten wieder auszulesen.

    Kannst du mir da eine Möglichkeit nennen?
     

Ähnliche Themen

  1. Byte Array in MySQL Datenbank schreiben/auslesen
    Von hebel2 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 5
    Letzter Beitrag: 28.09.10, 15:49
  2. Antworten: 5
    Letzter Beitrag: 22.02.10, 12:05
  3. Antworten: 3
    Letzter Beitrag: 17.09.08, 10:44
  4. Antworten: 2
    Letzter Beitrag: 29.01.08, 13:02
  5. JTable Zelle in Datenbank speichern und Auslesen?
    Von Dadu2006 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 04.05.07, 09:10