passwd+MD5

Radek Kanovsky radekk na uh.cz
Úterý Červen 15 11:27:59 CEST 1999


On Fri, 11 Jun 1999, Dusan Sys wrote:

> Hello,
> prave pisi nejaky script v Perlu ve kterem je potreba overit uzivatele podle
> hesla. Hesla jsou sifrovana pres MD5 ( stejne jako shadow ). Mam v perlu
> nainstalovakou funkci Crypt::PasswdMD5 coz je obdoba klasicke funkce crypt.
> 
> Pouziti je $cryptedpassword = unix_md5_crypt($password, $salt);
> 
> Potom mam vysledny retezec napr $1$IXGM4qc1$7Wvj.mZL9qqAYqLqbclz81
> ale kde v tomto retezci najdu "salt" ??? Ve standartni funkci crypt jsou to
> prvni dva znaky, ale tady to nefunguje.
> 
> Pokud mate nekdo odkazy na siftovani hesel pres MD5 nebo jinou radu tak mi
> to hodne pomuze.

Salt je retezec mezi druhym a tretim dolarem. Zacatek '$1$' je
vzdy stejny a funkce crypt pozna, jestli se ji predhazuje cisty
salt nebo zasifrovane heslo. Volani

crypt( <heslo>, "IXGM4qc" ) ;
crypt( <heslo>, "$1$IXGM4qc1$7Wvj.mZL9qqAYqLqbclz81" ) ;

by tedy mela dat stejne vysledky "$1$IXGM4qc1$7Wvj.mZL9qqAYqLqbclz81",
pokud je ovsem heslo spravne zadano. Mozna to bude zaviset
na konkretni implementaci funkce, ale ten salt lze vzdy
spolehlive najit podle dolaru.

Salt nema u MD5 pevnou delku.

Zdravi

Radek Kanovsky, rk na uh.cz



Další informace o konferenci Linux