Pokiaľ vyvíjate .Net webové aplikácie tak určite poznáte dilemu kam schovať prístupové údaje napríklad na prístup k datábaze.
Ukladať heslá priamo v kóde je veľmi zlý zvyk pretože skompilovaný kód je možné veľmi jednoducho dekompilovať a čítať kód. Dajú sa na to použiť rôzne nástroje, stačí pohľadať na internete. Ale k veci – ako postupovať ak chceme použiť heslo v kóde?
Ako iste vieme, v .Net môžme uložiť heslá do súboru web.config alebo app.config, v závislosti aký typ apky vyvíjame. Heslo uložíme do web.config (aspx web appka) do sekcie <configuration>, podsekcia <connectionStrings> v nasledujúcom formáte“
Meno a heslo pre databázu pridáme nasledovne:
<add name=“Connection01″ connectionString=“server=server.com;database=DATABASE_NAME;uid=USER%NAME;pwd=PASSWORD;“ providerName=“System.Data.SqlClient“ />
Ak chceme pridať len heslo, urobíme to nasledovne:
<add name=“Connection02″ connectionString=“PASSWORD“ />
Takže, heslá máme pripravené v súbore web.config ale ako tieto heslá zašifrujeme? Veľmi jednoducho, nasledovné ale musíme urobiť na servri, kde aplikácia bude bežať:
- Otvoríme si príkazový riadok ako administrátor a premiestnime sa pomocou príkazu do .Net adresára cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
- V prípade že sa web.config nachádza v adresári „D:\applications\APP01“, tak zadáme nasledovný príkaz: ASPNET_REGIIS -pef „connectionStrings“ „D:\applications\APP01“
To je všetko. .Net si už poradí aj s dešifrovaním.