Portál AbcLinuxu, 19. listopadu 2025 20:44
. Je mi jasný, že si heslo mohu osolit "po svěm" tím, že za něj prostě připojím nějaký řetězec, který bude znát jen daná aplikace: heslo+retezec. Nerozumím ale moc principům těch funkcí, které solí hesla, co s tím vlastně udělají apod. Např. moc nechápu co přesně provede s heslem třeba funkce v PHPčku crypt('heslo', '$6$sul$'). Jasně, vytvoří to sha512 osolený druhým parametrem, ale co se rozumí tím solením - přidání řetězce na začátek hesla nebo zašifrování hesla tím saltem... ?
crypt('rasmuslerdorf', '$1$rasmusle$') = $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Řetězec za "$1$rasmusle$" je zaheslované heslo s pomocí saltu. rasmusle je v hesle jako celý plaintext proč? Třeba u SHA-512 je tam jen kus toho plaintextu viz. http://php.net/manual/en/function.crypt.php.
$password = 'secret'; $salt = 'jablko'; $s = sha1($password.$salt); echo $s; // vypise 176b05b6e83a3669639eef184f33d651d48e3eb4
rasmusle je v hesle jako celý plaintext proč?Sůl musí být dodána plain jinak byste při kontrole hesla nevěděl co k heslu přidat.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.