2010-07-30 16 views
1

Dans toutes mes applications VB6, les informations de connexion étaient stockées dans des champs cryptés dans la base de données. Personne n'a accès à la base de données et si quelqu'un le faisait, tout ce qu'ils verraient serait un tas de valeurs cryptées.Où stockez-vous vos chaînes de connexion?

Il y avait toujours un défaut avec cette méthode. Récupération des informations de connexion requises à l'aide d'un ID/mot de passe codé en dur dans l'application qui extrairait ces informations de connexion et formerait une chaîne.

Dans le monde .NET, je stocke actuellement cet identifiant/mot de passe codé en dur dans le fichier app.exe.config. La méthode recommandée consiste à chiffrer la chaîne de connexion dans le fichier?

Quelles classes puis-je utiliser pour effectuer ce cryptage/décryptage?

Répondre

5

Lire:

Encrypting Configuration Information in ASP.NET 2.0 Applications

Fondamentalement, l'infrastructure ASP.NET possède les outils dont vous avez besoin pour chiffrer, et le sous-système de configuration .NET sait comment décrypter en cas de besoin - donc il y a vraiment tous déjà là, prêt à utiliser!

Pour crypter, vous utiliseriez l'utilitaire aspnet_regiis, quelque chose comme ceci:

aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" 

Et pour le décryptage - rien ne doit être fait, gère .NET cette manière transparente pour vous.

MISE À JOUR: ces mécanismes pour ALL de .NET - ils font partie de l'infrastructure de base de .NET. Vous pouvez utiliser ces techniques et recettes pour votre application de console ou votre service Windows. Microsoft fournit uniquement des outils pour le cas ASP.NET pour crypter des sections de web.config - mais les API et les appels sont là pour tout le monde à utiliser, dans n'importe quel type d'application .NET - fait moi-même, dans n'importe quelle application de console, un service Windows.

J'ai un small utility on my SkyDrive qui est livré avec une source .NET complète qui vous montre comment crypter une section de n'importe quel fichier de configuration .NET. N'hésitez pas à vérifier cela et utilisez-le dans vos efforts comme bon vous semble.

+0

Pourquoi tout le monde vote-t-il? L'OP ne fonctionne même pas sur ASP.NET! –

+0

Je suppose que si quelqu'un répond et que son représentant dépasse 50k, il doit être un génie qui a toujours raison ...? Ce n'est pas un coup de poignard chez marc_s; Je vois cela se produire tout le temps ici et c'est préjudiciable à la valeur de la communauté. Il doit arrêter. –

+0

Marc_S, Je travaille sur une application client. Rien à voir avec ASP .NET. De l'apparence de l'utilitaire, il semble que ce soit quelque chose qui fonctionnerait avec IIS. – abhi