Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Eldest
Tvůrce
Avatar
Eldest:14.2.2015 15:07

Ahoj, chtěl bych se zeptat, zda se dá ve zdrojovém kódu nějak skrýt či zašifrovat heslo k připojení k DB. Ve škole musíme odevzdávat učiteli programy na kontrolu. Většinou to jsou programy, kde se připojujeme ke vzdálenému serveru (...MySQL...). Problém je v tom, že bych nechtěl, aby učitel viděl moje heslo. Pomocí kterého se přihlašují do své databáze...

 
Odpovědět
14.2.2015 15:07
Avatar
Odpovídá na Eldest
sadlomaslox25:14.2.2015 16:23

pokud vim tak se to resi 2 zpusoby:

  1. slozitejsi varianta je udelas si mezivrstvu v podobe weboveve sluzby ktera obsluhuje db. toto je nejcastejsi reseni.
  2. zalozit v db usera a tomu priradit prislusna opravneni pro cteni a zapis. tabulky je mozna ochranit pomoci view a stored procedur.

pokud by ses znazil nejakym zpusobme heslo "znecitelnit" tak nezapomen ze .NET programy se daji velmi jednoduse dekompilovat a da se v nich cist jako v knize :)

 
Nahoru Odpovědět
14.2.2015 16:23
Avatar
Eldest
Tvůrce
Avatar
Odpovídá na sadlomaslox25
Eldest:14.2.2015 18:10

Díky za odpověď, ale nevím, jestli jsi mě správně pochopil. Například: Připojuji s programu C# k serveru -> musím při přihlášení zadat adresu serveru, název databáze, ke které se připojuji, jméno uživatele a heslo. Nic z toho mi nevadí kromě hesla. To potřebuji nějak ve zdrojáku skrýt, aby ho učitel, spolužák nebo prostě kdokoliv neviděl.

 
Nahoru Odpovědět
14.2.2015 18:10
Avatar
Odpovídá na Eldest
sadlomaslox25:14.2.2015 18:37

no ja sem te pochopil. ale tys asi nepochopil ze to nejde tak jak si predstavujes :D.

priklad toho co muzes udelat:
string zasifrovane_hes­lo_databaze="xik­nasodineqwwed";
string klic_k_rozsifro­vani="passwor­d1";
SqlConnection con=new SqlConnection("IP=1­.1.1.1;Userna­me=user;Pass="+si­fra.Desifruj(za­sifrovane_hes­lo_databaze,klic_k_roz­sifrovani));

tvuj kod si muze kdokoli otevrit tyhle 3 radky zkopirovat a provest u sebe a to heslo zjisti. neni moznost jak to skryt.

 
Nahoru Odpovědět
14.2.2015 18:37
Avatar
Eldest
Tvůrce
Avatar
Odpovídá na sadlomaslox25
Eldest:14.2.2015 19:13

Ani to třeba nějak zahashovat?

 
Nahoru Odpovědět
14.2.2015 19:13
Avatar
Odpovídá na Eldest
Neaktivní uživatel:14.2.2015 19:55

Prostě tam nevkládej svoje běžné údaje, vytvoř si nového usera a dej mu minimalni práva co to jde.

Odevzdáš úkol, učitel zkontroluje, dá za to známku, a ty hned smaž uživatele nebo změň heslo a jeto.

Jinak to udělat nejde.

Editováno 14.2.2015 19:56
Nahoru Odpovědět
14.2.2015 19:55
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Eldest
Jan Vargovský:14.2.2015 20:19
https://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx
 
Nahoru Odpovědět
14.2.2015 20:19
Avatar
Odpovídá na Jan Vargovský
sadlomaslox25:14.2.2015 20:28

to je trochu jiny scenar.to co popisuji na tom MSDN nejde moc aplikovat na tento pripad.

 
Nahoru Odpovědět
14.2.2015 20:28
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na sadlomaslox25
Jan Vargovský:14.2.2015 21:04

Vždyť tam přece používá taky connection string, tak ať si ho přesune do app.configu, ne?

 
Nahoru Odpovědět
14.2.2015 21:04
Avatar
Odpovídá na Jan Vargovský
sadlomaslox25:14.2.2015 22:00

"Note
The connection string can only be decrypted on the computer on which it was encrypted."

 
Nahoru Odpovědět
14.2.2015 22:00
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na sadlomaslox25
Jan Vargovský:14.2.2015 22:02

Tak nic no :) já tohle zatím moc neřešil.

 
Nahoru Odpovědět
14.2.2015 22:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.