Passwort verschlüsselung und Entschlüsseling WPF C#?

2 Antworten

Du kannst den SecureString in eine verschlüsselte Zeichenfolge umwandeln, und sie dann an die Datenbank senden! Das kann beispielsweise mit der .NET-Klasse

ProtectedData

erfolgen

krkodil 
Fragesteller
 10.12.2022, 16:02

Heißt das man verschlüsselt den SecureString einfach nochmal?

0
Natsujoestar  10.12.2022, 16:07
@krkodil

Nein. Der SecureString selbst wird nicht verschlüsselt. Es wird der Inhalt des SecureString mit Hilfe von Verschlüsselungsalgorithmen wie AES in einen verschlüsselten String konventiert.

0
krkodil 
Fragesteller
 10.12.2022, 16:10
@Natsujoestar

Ich verstehe. Vielen dank für die Antwort! :D mit googlen hab ich kaum eine gute Antwort gefunden

0
krkodil 
Fragesteller
 10.12.2022, 16:11
@Natsujoestar

Das heißt der String der im SecureString ist wird verschlüsselt nehm ich an ^-^ (will sicher gehn xd)

0
Natsujoestar  10.12.2022, 16:13
@krkodil

Nein. Der Inhalt des SecureString wird in einen verschlüsselten String konvertiert

0
krkodil 
Fragesteller
 10.12.2022, 16:15
@Natsujoestar

Oh okay dann schau ich mir das nochmal genauer an

0
krkodil 
Fragesteller
 11.12.2022, 00:15
@Natsujoestar

hab mir das angeschaut. dort verlangen die ein byte array als übergabe. auch mit googlen tauche ich zurzeit unter :,/ ... kannst du mir eventl weiterhelfen...?

würd einf gern den securestring versschlüsseln

LG

0
krkodil 
Fragesteller
 10.12.2022, 16:04

Bzw hab ich richtig verstanden dass man den SecureString verschlüsselt?. Btw entschlüsselung erfolgr im backend oder?😅:)

0
Natsujoestar  10.12.2022, 16:12
@krkodil

Die Entschlüsselung erfolgt wenn du den verschlüsselten String wieder in einen SecureString konvertieren möchtest.

0

normalerweise sendet man das passwort über https an den server (also verschlüsselt, der server kann es aber entschlüsseln), hasht das passwort dann mit etwas salt und speichert bzw vergleicht dann mit dem hinterlegten hash + salt in der datenbank

krkodil 
Fragesteller
 10.12.2022, 23:55

ah, okay. das problem ist ich will es jetzt mal nur in eine lokale Datenbank speichern.

ich versuch zwar mit der antwort vom andern weiter zu kommen, den SecureString inhalt mit ProtectedData zu verschlüsseln aber ich tauche unter. :<

0
Tyldu  11.12.2022, 08:17
@krkodil

wie gesagt, passwörter will man auf keinen fall verschlüsselt in einer datenbank speichern. (weil sie, anders als ein hash mit salt wieder in das klartext passwort umgewandelt werden können, falls jemand zugriff auf datenbank und schlüssel erhält)

schick das passwort einfach im klartext (über https) an den server und der server hasht es mit salt

wenn du (noch) keinen server hast dann machst du das halt clientseitig und speicherst dann salt und hash in der datenbank aber niemals ein verschüsseltes passwort in einer datenbank speichern wenn es nicht sein muss (und in deinem fall muss es das nicht)

0