Comment enregistrer efficacement le mot de passe de la base de données dans l'application de bureau?

StackOverflow https://stackoverflow.com/questions/2155279

Question

Je fais application de bureau (LETS appeler l'application) qui utilise la base de données (MySQL). Les utilisateurs de partager Appli utilisateur d'une base de données. Exemple: les utilisateurs d'applications John et Mike se connecter à DB "dbuser", etc

.

Le problème est:. Comment sauvegarder efficacement les mots de passe pour les utilisateurs DB (les pwds des utilisateurs d'applications sont stockées dans DB)

Les solutions possibles que j'ai trouvé: 1. dans le code - cela est en fait assez stupide: D 2. dans le fichier texte INI - facile à lire! 3. crypté dans le fichier extern -. Bon, mais ont besoin d'accéder à l'application

Était-ce utile?

La solution

  

(les pwds des utilisateurs d'applications sont stockées dans DB).

Chiffrer les mots de passe stockés en utilisant SHA1 / SHA2 algorithme. Ceci est la technique la plus utilisée. Je ne suis pas un développeur .NET, mais je suis sûr qu'ils fournissent quelque part la fonction.

Lorsque l'utilisateur se connecte, chiffrer à nouveau le mot de passe donné et le comparer à celui stocké. Si elles sont égales, que le journal utilisateur.

Autres conseils

Vous pouvez enregistrer dans le fichier INI dans le format crypté. C'est mieux à mon humble avis manière. Je stocke les chaînes de connexion dans le App.config d'application .NET dans le format crypté.

EDIT:

Pour modifier la chaîne de connexion, j'utilise une autre valeur de configuration dans AppSettings de fichier App.config CSEncryption = "Y | N | R"

si elle est Y, la chaîne de connexion est cryptée, décrypter et l'utiliser.

si elle est N, la chaîne de connexion n'est pas crypté, utilisez directement.

si elle est R, la chaîne de connexion ne sont pas cryptées, chiffrer et mettre à jour la chaîne de connexion et fixé à CSEncryption « Y » dans App.Config.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top