J'ai un code comme celui-ci dans une application winforms que j'écrivais pour interroger le quota de stockage d'une boîte aux lettres d'un utilisateur.Comment stocker les mots de passe dans l'application Winforms?
DirectoryEntry mbstore = new DirectoryEntry(
@"LDAP://" + strhome,
m_serviceaccount,
[m_pwd],
AuthenticationTypes.Secure);
Peu importe quelle approche j'ai essayé (comme SecureString
), je suis facilement en mesure de voir le mot de passe (m_pwd) soit en utilisant des chaînes réflecteur ou en utilisant l'onglet de Process Explorer pour l'exécutable.
Je sais que je pourrais mettre ce code sur le serveur ou renforcer la sécurité en utilisant des mécanismes comme la délégation et en ne donnant que les privilèges requis au compte de service. Est-ce que quelqu'un peut suggérer un moyen raisonnablement sécurisé de stocker le mot de passe dans l'application locale sans révéler le mot de passe aux pirates?
Le hachage n'est pas possible car j'ai besoin de connaître le mot de passe exact (pas seulement le hachage à des fins de correspondance). Les mécanismes de cryptage/décryptage ne fonctionnent pas car ils dépendent de la machine.
Existe-t-il un exemple sur le web pour savoir comment cela est fait? – karlipoppins
@m_oLogin: Voir l'une de mes autres réponses [ici] (http://stackoverflow.com/questions/154430/persistent-storage-of-encrypted-data-using-net/154687#154687) –