Crittografia a livello di codice di un file di configurazione in .NET
-
09-06-2019 - |
Domanda
Qualcuno potrebbe per favore fare una carrellata su come crittografare a livello di codice un file di configurazione in .NET, preferibilmente in C#.
Quello che vorrei fare è eseguire una sorta di controllo all'avvio di un'applicazione per vedere se una sezione non è protetta e, in tal caso, crittografarla.Questo sia per le impostazioni che per le stringhe di connessione.
Inoltre, se qualcuno potesse elencare i tipi di fornitori di crittografia e qual è la differenza tra loro.
Non so se il codice per eseguire questa operazione in una normale applicazione WinForms sia trasparente per farlo in ASP.NET.
Soluzione
Per riassumere le risposte e ciò che ho trovato finora, ecco alcuni buoni link per rispondere a questa domanda:
- Crittografia delle informazioni di configurazione nelle applicazioni ASP.NET 2.0 - 4GuysFromRolla.com
- Come:Crittografare le sezioni di configurazione in ASP.NET 2.0 utilizzando DPAPI - MSDN
Non esitate a completare con altri collegamenti, magari alcuni ad applicazioni WinForms o WPF.
Altri suggerimenti
C'è un buon articolo di 4 ragazzi in merito Crittografia delle informazioni di configurazione nelle applicazioni ASP.NET 2.0
Spero che questo ti aiuti
La soluzione nel sito seguente funziona bene per me.
http://www.a2zmenu.com/Blogs/CSharp/How-to-encrypt-configuration-file.aspx
@TK:un algoritmo di hashing può solo essere "indovinato", non decodificato.Si può ricostruire l'input in un valore hash solo indovinando completamente l'input (a parte le collisioni, cioè). Questo può essere fatto ad esempio con una crepa arcobaleno (vedi un'implementazione di un cracker arcobaleno qui)
Direi che uno strumento di crittografia di terze parti non è più sicuro degli algoritmi di crittografia del framework .NET, queste librerie ti aiutano semplicemente a svolgere il tuo lavoro più velocemente
Non l'ho usato personalmente, ma la libreria Microsoft Enterprise ha un buon supporto per la crittografia che potrebbe soddisfare le tue esigenze: