Pituus 16, merkkiä. Millä algoritmillä salasanat siis on kryptattu (vai mitä se onkaan) mysql-palvelimelle? Siellähän ne ovat tallessa.. Ja saako salasanoja purettua selkokieliseen muotoon php:llä?
Suora muunnos hashista selkokieliseksi ei taida onnistua, mutta kokeilemalla hashata PALJON erilaisia salasanoja saattaa löytää vastaavan hashin, jolloin kyseinen salasana on pätevä.
http://www.securiteam.com/tools/5YP0H0A40O.html
En tiedä toimiiko. Sanakirjahyökkäys olisi varmaan paljon nopeampi heikoille salasanoille. Tuosta koodissa taitaa kuitenkin olla se MySQL vanha salausalgoritmi, joka tuottaa noita 16 tavuisia hashejä, joita halusit.
Tiedäthän, että salasanojen purku on vähintäänkin arvelluttavaa ja usein myös rikollista puuhaa.
FooBat kirjoitti:
Tiedäthän, että salasanojen purku on vähintäänkin arvelluttavaa ja usein myös rikollista puuhaa.
Kyllä tiedän. Kiusallani sitä en aio tehdä, vaan tämä asia liittyy selainpohjaiseen autentikaatioon mysql-palvelimen kanssa. Ongelmakin ratkesi:
Mysql:llä on oma funktionsa joka toimii SELECT lauseessa, jolla salasanan voi testata:
Esim. testataan salasanaa 'seppo': SELECT PASSWORD('seppo'); ja palvelin palauttaa 16 merkkiäpitkän hashin.
Jos jotakuta kiinnostaa, niin näin voi verrata vaikkapa lomakkeelta lähetettyä salasanaa palvelimella olevaan:
<?php $serverpass = @mysql_result(@mysql_query("SELECT Password FROM user WHERE User='kayttaja' AND Host='localhost'"),0,0); // salasana joka käyttäjällä on $userpass = @mysql_result(@mysql_query("SELECT PASSWORD('$_POST[salasana]')"),0,0); // salasana jolla käyttäjä yrittää sisään if($serverpass == $userpass){ echo "Salasanat täsmäävät, tervetuloa"; } ?>
Edit: niin, olisi kyllä voinut sanoa vähä tarkemmin tuossa ensimmäisessä viestissä, että haluan vaina verrata salasanoja :) Mutta tulipahan ratkaistua.
Noita kyselyitä ei kannata ihan tieten tahtoen viljellä. Yleensä mitä vähemmän, sen parempi. Ja jos ihan tarkkoja ollaan, niin vielä LIMIT perään, niin tietokanta lopettaa hakemisen siihen ensimmäiseen osumaan, eikä käy jokaista riviä läpi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.