Wie Password in C# hinterlegen?

3 Antworten

Indem du die Daten zum Beispiel in einer Datei verschlüsselst und sie mit einem Passwort im Programm entschlüsselst.

Die Daten kannst du als XML oder JSON formatieren, verschlüsseln und dann speichern und beim Laden entschlüsselst du und deserialisierst dann.

Zum Verschlüsseln kannst du z.B. RSA nehmen.

Encrypting data | Microsoft Docs

Das empfiehlt sich aber auch nur, wenn du das unbedingt so tun musst... Am Ende des Tages brauchst du das wahrscheinlich sowieso nicht.

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer

ArkTuber 
Beitragsersteller
 09.08.2022, 13:07

Aber um die Datei zu entschlüsseln brauche ich ja auch ein password... Und somit ist da das nächste Passeord was irgendwie sicher imer Progrsmm hinterlegt werden muss😅

0
ArkTuber 
Beitragsersteller
 09.08.2022, 13:09
@Dultus, UserMod Light

Dann muss aber jeder Nutzer das Password kennen... Das Programm nutzen mehrere Leute (Freunde) und die sollen nicht immer ein Password eingeben...

0
Dultus, UserMod Light   09.08.2022, 13:13
@ArkTuber

Dir bleibt halt sonst nichts. Du kannst sonst deinen Freunden die Datei mitschicken, die als Schlüssel agiert und die Daten im Programm entschlüsselt. Aber wenn es weitergegeben wird, kommst du um eine Onlinelösung nicht mehr drum herum.

0
Dultus, UserMod Light   09.08.2022, 13:19
@ArkTuber

Zum Beispiel über einen Server. Am Schluss musst du die Infos dir über einen Server ziehen, damit sie nicht lokal bei dir sind. Sonst kriegst du sie über eine Passwortdatei bzw. Schlüssel entschlüsselt.

1

„Sie können einen Teil der Verbindungszeichenfolge in einer Konfigurationsdatei speichern und zur Vervollständigung zur Laufzeit die DbConnectionStringBuilder-Klasse verwenden. Diese Vorgehensweise empfiehlt sich in Szenarien, in denen Ihnen die Elemente der Verbindungszeichenfolge vorab nicht bekannt sind oder wenn Sie sicherheitsrelevante Informationen nicht in einer Konfigurationsdatei speichern möchten. Weitere Informationen finden Sie in Connection String Builders (Verbindungszeichenfolgengeneratoren).“

-Microsoft

Woher ich das weiß:Recherche
Wie mache ich sowas am besten?

Am besten gar nicht.

Zugangsdaten kannst du via Umgebungsvariablen, Startargumente oder Konfigurationsdateien dem Programm mitgeben. Hat dann auch den Vorteil, dass du ganz einfach mehrere Umgebungen starten kannst.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

ArkTuber 
Beitragsersteller
 09.08.2022, 13:06

Dann müsste jeder nutzer das Password kennen...

0
Dultus, UserMod Light   09.08.2022, 13:09
@ArkTuber

Stop, du willst, dass jeder Nutzer darauf Zugriff hat? Warum willst du die Daten dann schützen? Schmeiß sie doch einfach rein und gut?

0
ArkTuber 
Beitragsersteller
 09.08.2022, 13:11
@Dultus, UserMod Light

Ich habe mehrere Freunde/Kollegen, die die Software nutzen sollen. Ich will aber, die Login Daten sicher im Programm hinterlegen, sodass niemand ran kommt (weder Freunde noch Fremde)

0
Lezurex  09.08.2022, 13:13
@ArkTuber

Eine direkte Verbindung zwischen Datenbank und Client ist eine ganz schlechte Idee, genau wegen diesem Problem hier.

0
ArkTuber 
Beitragsersteller
 09.08.2022, 13:16
@Lezurex

Desshalb Frage ich ja hier wie man sowas am besten macht🙂

0
Lezurex  09.08.2022, 13:19
@ArkTuber

Na aus deiner ursprünglichen Frage kann man nicht rauslesen, was das genau für eine Applikation ist.

Du musst etwas dazwischenhauen, einen Webservice. Der Webservice läuft unter deiner Kontrolle und hat Zugriff auf die Datenbank. Die Clients kommunizieren lediglich mit dem Webservice. Die User können sich dort zum Beispiel mit einem eigenen Konto anmelden. Die Aktionen der Nutzer kannst du somit viel besser kontrollieren und regulieren.

1