Cryptage par programme d’un fichier de configuration dans .NET

Quelqu’un pourrait-il, s’il vous plaît, décrire brièvement comment chiffrer par programme un fichier de configuration en .NET, de préférence en C #.

Ce que je voudrais faire est de faire une sorte de vérification au démarrage d’une application pour voir si une section n’est pas protégée, et si c’est le cas, alors cryptez-la. Ceci pour les parameters et les chaînes de connexion.

Aussi, si quelqu’un pouvait énumérer les types de fournisseurs de cryptage et quelle est la différence entre eux.

Je ne sais pas si le code permettant de faire cela dans une application WinForms normale est transparent pour le faire dans ASP.NET.

Pour résumer les réponses et ce que j’ai trouvé jusqu’à présent, voici quelques liens utiles pour répondre à cette question:

  • Chiffrement des informations de configuration dans les applications ASP.NET 2.0 – 4GuysFromRolla.com
  • Comment: chiffrer les sections de configuration dans ASP.NET 2.0 à l’aide de DPAPI – MSDN

N’hésitez pas à compléter avec d’autres liens, peut-être certains vers des applications WinForms ou WPF.

Il y a un bon article de 4 gars sur le cryptage des informations de configuration dans les applications ASP.NET 2.0

J’espère que cela t’aides

La solution sur le site ci-dessous fonctionne bien pour moi.

http://www.a2zmenu.com/Blogs/CSharp/How-to-encrypt-configuration-file.aspx

@TK: un algo de hachage ne peut être que “deviné”, pas d’ingénierie inverse. On ne peut reconstruire l’entrée à une valeur de hachage qu’en devinant complètement l’entrée (hormis les collisions, c’est-à-dire) Cela peut être fait avec une fissure arc-en-ciel par exemple (voir la mise en œuvre d’un cracker arc-en-ciel ici )

Je dirais qu’un outil de chiffrement tiers n’est pas plus sûr que les algorithmes de chiffrement .NET Framework. Ces bibliothèques vous aident simplement à faire votre travail plus rapidement.

Je ne l’ai pas utilisé moi-même, mais la bibliothèque Microsoft Enterprise prend en charge le chiffrement, ce qui conviendra probablement à vos besoins:

http://msdn.microsoft.com/en-us/library/cc309503.aspx