Comment stocker et récupérer des informations d'identification sur windows à l'aide de C#
- Je construire un programme C#, pour être exécuté sur Win10. Je veux envoyer des courriels à partir de ce programme (les résultats de calcul) en appuyant simplement sur un bouton. J'ai mis la de: e-mail l'adresse et le sujet: etc. en C#, mais je ne veux pas mettre un mot de passe en clair n'importe où dans le programme, ET je ne veux pas l'utilisateur d'avoir à taper le mot de passe pour le serveur à chaque fois qu'un courrier électronique est envoyé.
Faire?
Si oui, comment (en général)?
Je pensais mettre tout ce que l'e-mail d'informations, y compris un mot de passe crypté pour le serveur dans un fichier de données pour être lu lors du démarrage du programme.
Ou peut-être Win10 a une facilité pour que les...
OriginalL'auteur Erik | 2015-09-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les informations d'Identification Windows de Gestion des API. De cette façon, vous pourrez demander à l'utilisateur le mot de passe qu'une seule fois, puis de stocker le mot de passe dans le Gestionnaire d'informations d'Identification Windows.
Prochaine fois que votre application démarre et il faut utiliser le mot de passe, il fera la lecture à partir d'informations d'Identification Windows Manager. On peut utiliser des informations d'Identification Windows API de Gestion directement à l'aide de pinvoke (credwrite, CredRead, exemple ici) ou par l'intermédiaire d'un C# wrapper CredentialManagement.
Exemple d'utilisation à l'aide de la Nuget CredentialManagement package:
Je ne recommande pas stocker les mots de passe dans des fichiers sur les machines client, même si vous chiffrer le mot de passe vous sera probablement intégrer la clé de déchiffrement dans le code de l'application qui n'est pas une bonne idée.
OriginalL'auteur Krzysztof Branicki