
Java kód
Zdravim, můžete mi prosím někdo osvětlit jak je to s bezpečnosti kodu v Javě. Napřiklad chci pomoci javy vytvořit přístup k db kde musím zadat i heslo. Po dokončeni se mi software vytvoři v jar souboru. Ovšem když ho otevřu v archivu tak tam jsou samozřejmě bajtkody kde to heslo jde vyhledat. Kod je sice tak trochu zakodovaný ale řetězce tam vidět třeba jdou. Jak se to řeší? Ono v podstatě bajtkód jde znovu rozkodovat na zdrojový kod že?
Je uplne jedno v com je program napisany, ak je nejake heslo v programe tak VZDY ide z toho programy vytiahnut (niekedy za par minut niekedy za viac ale ide to vzdy ptz ked to heslo vie poslat niekam program, tak to musi byt mozne v nom dohladat).
Principialne heslo pre porovnanie s heslom zadanym uzivatelom sa robi tak ze sa ulozi hash a hash sa porovnava s hashom vyrataneho zo zadaneho hesla.
Ty ale potrebujes poslat enginu heslo a nie hash, takze v tvojom pripade to budes musiet riesit inac, bud musi zadavat heslo user, alebo zakryptujes/odkryptujes DB heslo pomocou user hesla, alebo bude heslo v aplikacii ale musi sa potom zabezpecit aby sa aplikacia nempohla dostat von od klienta, co ale asi neni mozne. Principialne heslo ktore je v nejakej app je uplne k hovnu a je potom treba zabezpecit aby pristup k samotnej DB mali len autorizovani klienti a nikto iny (t.j. oddelit ju od internetu apod).
Nemate u vas ziaden bezpecnostny koncept ani ziadne specifikacie podla ktorych mas robit aplikaciu?
Ne, zatim jen tak zkoušim hlavně pro sebe abych měl představu na co vše je nutné davat pozor.
Nejak nechapu "enginu heslo"?
Jinak k tomu hashi? Nevim jestli to byla pravda ale cetl jsem nekde už davno že to taky neni 100%. Že jde nějak rozlousknout.
A když bude mit uživatel zakryptovane DB heslo, nemůže to pak nějak získat na zpět když bude vědět že je to zakryptováno jeho heslem?
Snad jsem se vyjadřil jasně:) Každopádně diky za pomoc.
Inac mozno by si mal upresnit ze co konkretne sa snazis robit a kde to ma byt nasadene, aby ti niekto zhruba napisal koncept jak sa to robi.
Vseobecne cokolvek co sa pripaja na server zvonku sa nepripaja priamo na databazu ale komunikuje len s nejakym kodom beziacim na serveri a na nom sa autentifikuje User zvonku nejakym user heslom. A potom autentifikacia pokracuje nejakym dynamickym popisovaciom (napr. session) a na databazu leze len lokalny kod na serveri a nie priamo aplikacia zvonku. Tak si ochranis databazu pred priamym vstupom. Priamo na DB zvonku moze potom liezt len admin ktory vie heslo do DB.
No jak jsem psal nemam žadny hlubší smysl.
Každopádně v budoucnu bych nejspíš chtěl udělat aplikaci kde se uživatelé přihlási na své učty které jsou v mysql. Čili místo webového rozhraní udělat třeba i desktop aplikaci. Například na zasílani nějakych dat do db. A je asi fakt že napojit se přimo na db by nebylo dobre.