Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Postfixadmin - nový uživatel  (Přečteno 2447 krát)

vojak

  • Návštěvník
  • Příspěvků: 58
Postfixadmin - nový uživatel
« kdy: 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?

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re:Postfixadmin - nový uživatel
« Odpověď #1 kdy: 16 Září 2014, 16:01:47 »
Zajímalo by mne, co je tedy v DB uložené, když ne hash hesla?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

vojak

  • Návštěvník
  • Příspěvků: 58
Re:Postfixadmin - nový uživatel
« Odpověď #2 kdy: 16 Září 2014, 17:32:30 »
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/

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re:Postfixadmin - nový uživatel
« Odpověď #3 kdy: 16 Září 2014, 17:43:59 »
Aha, takhle je to :)
Uložené v hash to je, ale metod, jak k otisku dojít je několik:
man crypt
Kód: [Vybrat]
       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
« Poslední změna: 16 Září 2014, 17:45:53 od Petr Merlin Vaněček »
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

vojak

  • Návštěvník
  • Příspěvků: 58
Re:Postfixadmin - nový uživatel
« Odpověď #4 kdy: 16 Září 2014, 18:09:54 »
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.

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re:Postfixadmin - nový uživatel
« Odpověď #5 kdy: 16 Září 2014, 18:23:06 »
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:
Kód: [Vybrat]
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
« Poslední změna: 16 Září 2014, 18:24:51 od Petr Merlin Vaněček »
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

 

Provoz zaštiťuje spolek OpenAlt.