Mam stale ten isty problem pri vyberani zasifrovacich udajov cez WHERE v MySQL 5.0 - vlozim nejaky zasifrovany SHA1 password (trebars 123456) do tabulky test, stlpca heslo a potom ho chcem vybrat cez SELECT * FROM test WHERE heslo = SHA1('123456') - MySQL vrati hlasku ze prikaz vratil nulovy pocet riadkov.. Skusim to iste, v realnej zasifrovacej forme ktoru mam v databaze, resp. SELECT * FROM test WHERE heslo = 'sifrovacia forma SHA1 pri 123456' a zrazu ide.. uz si s tym fakt neviem rady, v MySQL 4.0 takyto problem nemam, iba stale pri tej SHA1, ale napr. taky PASSWORD v 4.0 na tento sposob ide.. v 5.0 uz nejde ani ten PASSWORD vybrat cez tento sposob, skusal som aj MDA5 a ani ten nesiel.. uz si si tam fakt neviem rady neviete nahodou ako to vyriesit? minule som tu pisal a problem sa nevyriesil a teraz to surne potrebujem..
Fórum › MySQL
Pisem uz druhy krat so stale nevyriesenym problemom
tak srovnej stejne heslo ulozene v databazi a pak si dej jen select sha1('heslo'); pokud naprosto stejne heslo neda stejny hash tak ti to nikdy nemuze taky najit
KIIV napsal:
tak srovnej stejne heslo ulozene v databazi a pak si dej jen select sha1('heslo'); pokud naprosto stejne heslo neda stejny hash tak ti to nikdy nemuze taky najit
hmm v tomto problem nebude, vkladal som do tabulky 2 krat to iste heslo hashnute cez SHA1, 2krat ulozilo ten isty hash.. (ak som ta pochopil)
.. myslite ze bude chyba v nastaveni MySQL? resp. sa mam obratit na hosting?
Tady řeší SHA1 ve WHERE... Možná to bude i tvůj problém - http://stackoverflow.com/questions/902129?sort=oldest#sort-top
Kobi napsal:
Tady řeší SHA1 ve WHERE... Možná to bude i tvůj problém - http://stackoverflow.com/questions/902129?sort=oldest#sort-top
hmm ak som to spravne pochopil vyriesil to inym sposobom ako zahashovat IP.. vpodstate tam nieje odpoved na moj problem.. najpodstatnejsie na tom je to, ako som uz hovoril, ze ziadny hash mi nevie vyhladat tymto sposobom, teda ani PASSWORD, ani MDA5, ani SHA1, netyka sa to konkretne iba SHA1.. teda vlozim do DB hocijaky hash, bud sposobm password, alebo mda5 alebo sha1 , a potom ho chcem vyhladat tymto sposobom cez where.. vrati nulovy pocet riadkov
KIIV napsal:
To Lordest : a co udelat select *, sha1('123456'), sha1('123456') = password from ... where 1 ;
a vypsat si to .. nebo jen v phpMyAdminovi
neviem skusim.. k tomu phpmyadminovi, zatial to skusam len v nom aby som zas na to zbytocne nedoplatil pri reale..
//edit:skusil som to a vypisalo mi iba 3 stlpce a 3 riadky (resp. pocet hesiel co som tam skusal), stlpce su heslo/ sha1('123456') / sha1('123456') = heslo. v prvom zobrazilo hashe, v druhom BINARY - pocet bytov, v tretom 0 u vsetkych.. - mrkol som sa na nastavenie databazy a nasiel som nieco s hashom - innodb adaptive hash index - ON - - nema to nieco s tym?
hmmm...
ja to mam takto (nie doslova) :
$zadaneheslo=$_POST[heslo];
$hashheslo = sha1($zadaneheslo);
$dotaz = mysql_query("SELECT * FROM users WHERE heslo='".$hashheslo."'");
a normalne to driape... proste urob hash mimo dotazu na mysql....
stlpec heslo VARCHAR(32) alebo 40, neviem :smile6:
tak musim vam oznamit, ze po skuske zahashovani sha1 hesla v PHP a nasledne na to vlozenie do prikazu nefungovalo, a tympadom som aj zistil, preco nefunguje skuska aj v samotnom prikaze. Urobil som nasledovnu vec, vybral som si hesla ktore su vo Varchare(14) , a zaroven som si zahashoval tie iste hesla v PHP cez funkciu sha1, a obidve som si zobrazil .. zaroven som zistil a vyriesil celu vec.. SHA1 potrebuje minimalne 40 volnych znakov, cize kedze som ich mal vo Varchare(14), skratilo mi ich na 14. Tympadom sa hesla nerovnali ked som chcel heslo vybrat v prikaze, preto, pretoze samotny prikaz hash neskrati nazaklade dlzky stlpca.. neviem ako som mohol byt taky hlupy! urcite to bolo tym ze o SHA1 som si moc info neprecital.. keby som vam zrejme povedal, ze ich mam ulozene iba v 14 znakoch, urcite by ste na to prisli. fakt sa ospravedlnujem za blbu temu, nechapem ako som mohol urobit takuto kravinu.. sry vsetkym
KIIV napsal:
tak to gratuluju .. uz ses konecne dostal k "zobrazeni" co ti to vubec vypisuje :DD - ne ze bych o tom nemluvil uz od zacatku
nj sorry asi som ta zle pochopil predtym.. teraz ked si to prechadzam tak fakt si to pisal.. neviem proste sorry all :D
no jo
stlpec heslo VARCHAR(32) alebo 40, neviem
hehe stava sa :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Cykly - kolko krat sa vykona — založil Michal12412
Menu sa za určitej okolnosti spustí dva krát — založil Task1337
Unity3d OnTriggerExit , aby fungovalo viac krát — založil juraj175
Nejde použiť viac krát premennú typu char — založil w3q
Druhy pokus web — založil mort
Moderátoři diskuze