2011-01-07 6 views
0

Ich möchte ein Zeichenfolgenfeld, ein Kennwort, an einem Speicherort speichern, auf den ich innerhalb des Codes zugreifen kann. Wenn Sie den Code jedoch von einem bereitgestellten Speicherort heruntergeladen haben, Sie könnten nicht auf das Passwort zugreifen. Web.config ist für alle sichtbar, sonst würde ich es einfach dort hineinschieben.Speichern eines Kennworts in einer DLL, kann zur Laufzeit darauf verweisen

Vielen Dank im Voraus.

+3

während es etwas sicherer ist, als es in der web.config speichern, das ist immer noch eine sehr unsichere Art und Weise ein Passwort zu speichern. – Nellius

+0

Sie können diese Frage ändern, um zu fragen, wie Sie Ihre Anwendung am besten sichern können. Wenn Sie dies tun, geben Sie bitte Details wie Ihre Verteilungsmethode, voraussichtliche Umgebung und Sicherheitsziele an. – NotMe

Antwort

3

Sie können encrypt values in web.config. Es ist eine bessere Lösung für das Problem.

+0

Nur geringfügig, da der Entschlüsselungsschlüssel für die Anwendung zugänglich sein muss und daher für den Benutzer zugänglich wäre, der die App ausführt. – NotMe

+0

@Chris Lively, ja ich stimme zu, aber es ist eine Web-App, die normalerweise als Dienstkonto läuft. Nicht alle Benutzer, die Zugriff auf die Maschine haben, haben Zugriff auf den Entschlüsselungsschlüssel, nur Administratoren. –

+0

Irgendwie habe ich den Teil komplett vermisst, der über asp.net spricht. :/In diesem Fall ist dies das Beste, was Sie tun können. +1 – NotMe

0

Warum können Sie keinen Hash des Passworts speichern?

Auf einem mehr App Design bezogenen Hinweis, einmal authentifiziert - warum müssen Sie das Kennwort lokal speichern?

0

Wenn Sie dies wirklich tun möchten, würde ich vorschlagen, dass Sie einen Hash speichern, selbst wenn es retrahiert wird, wäre es nutzlos (oder zumindest weniger nützlich).

Sie haben die Methode FormsAuthentication.HashPasswordForStoringInConfigFile(), die Sie zum späteren Generieren von MD5- und SHA1-Hashes verwenden.

Verwandte Themen