Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: vojak 16 Září 2014, 15:27:21
-
Zdravím,
mám nakonfigurovaný postfix admin, hesla ukládám zašifrované md5. Potřebuji ale udělat script, který mi vygeneruje uživatelské jméno a heslo a to uložit do databáze. Takže buď zavolám script od postfixadmina edit.php, kterému předám v parametru POST dané údaje, nebo vytvořím hash hesla a to uložím rovnou do DB. Problém je, že v db není uložen přímo hash hesla. Neřešil jste někdo něco podobného?
-
Zajímalo by mne, co je tedy v DB uložené, když ne hash hesla?
-
To mě právě také. Mám tam uloženo 5 různých hesel, první 3 znaky jsou vždy stejné. Otisk hesla pavel je $1$4357c423$ZyxbC.0f0Jl1ylGM5UG56/
-
Aha, takhle je to :)
Uložené v hash to je, ale metod, jak k otisku dojít je několik:
man crypt
If salt is a character string starting with the characters "$id$" followed by a string terminated by "$":
$id$salt$encrypted
then instead of using the DES machine, id identifies the encryption method used and this then determines how the rest of the password string
is interpreted. The following values of id are supported:
ID | Method
─────────────────────────────────────────────────────────
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
So $5$salt$encrypted is an SHA-256 encoded password and $6$salt$encrypted is an SHA-512 encoded one.
"salt" stands for the up to 16 characters following "$id$" in the salt. The encrypted part of the password string is the actual computed
password. The size of this string is fixed:
MD5 | 22 characters
SHA-256 | 43 characters
SHA-512 | 86 characters
Tedy pak $1$4357c423$ZyxbC.... nám označuje, že je to otisk generovaný pomocí metody MD5 a sůl je 4357c423
-
Pěkný článek, ovšem nevím jak s tou solí. Ani ta třetí část neodpovídá výsledku md5 funkce. Měla by mít čísla 0-9 a písmena A-F.
-
Ono se to pak ještě zabalí například přes SHA1, což teprve dává konečný otisk hesla (pozor, bavíme se o heslech, nikoliv jen MD5-SUM, které se používá pro výpočet otisku třeba souboru)
Pokud chceš hesla generovat z bashe, pak u MD5 bude fungovat toto, sůl je generovaná automaticky, s klidem jí ignoruj:
mkpasswd -m md5 -s heslo
více viz man mkpasswd - z balíku whois
V PHP je na to fce crypt - dokumentace, jak pomocí této fce generovat DES, MD5, nebo některou z SHA je na php.net (http://php.net/manual/en/function.crypt.php)