Ja mam pocit ze si nepochopil ani jednu moju vetu tak skus este raz citat a a pripadne sa zamysliet ze co som tym chcel povedat :)
Databaze potrebujes poslat heslo a nie hash. Databazovy engine tiez nejak potrebuje porovnat heslo s nejakymi svojimi ulozenymi ze ci suhlasi, ale nema v sebe ulozene hesla ptz by ich mohol ktokolvek vycitat, ale ma ulozene len hashe hesiel. Z toho dovodu utocnik aj keby zistil hashe tak nevie heslo a teda nemoze ich zneuzit. Ziskat heslo z hashu JE problem a mozes si skusit prelomit 20znakove heslo v SHA a dovidenia o milion rokov :)
To je ale fuk ptz ak chces dat akukolvek identifikaciu do programu automaticky tak utocnik VZDY moze urobit uplne stejnu vec jak ten program a VZDY to ide z programu vycitat. Preto takato "ochrana" je nezmysel. Je to len ochrana akoze navonok (tym myslim ochrana pred tymi ktori nemaju pristup k tej App).
Heslo do databazy sa moze do programu ulozit kryptovane pomocou nejakeho ineho user hesla. Samozrejme user ktory bude mat svoje heslo moze potom zistit v programe heslo do Databazy. Ked niekomu umoznis dostat sa do databazy LOKALNE (bez pripojenia na teba) tak tento jedinec sa do tej databazy dostane a je schopny vycitat mechanizmus autentifikacie. Ked to chces zabezpecit musel by si urobit databazovy engine tak ze klientovi posle nejaky kluc, klient posle ten kluc tebe, ty ho zakryptujes svojim privatnym klucom, posles ho nazad klientovi a klient ho posle databazovmu enginu. V tomto pripade klient nevie napodobnit autentifikaciu. Ale pri kazdom spojeni do DB by sa musel pripajat na teba a ziadat o ten vstup do DB.
Riesenia existuju v zavislosti na tom co sa robi jake su poziadavky a celkovy koncept, a chce to trochu aj experta na bezpecnost s dlhorocnymi skusenostami, ako sorry ale ak to urobi laik co nema o bezpecnosti sajnu tak to prelomim za 5minut.