Portál AbcLinuxu, 16. prosince 2025 21:59
usage: mkpasswd [args] [user]
where arguments are:
-l # (length of password, default = 9)
-d # (min # of digits, default = 2)
-c # (min # of lowercase chars, default = 2)
-C # (min # of uppercase chars, default = 2)
-s # (min # of special chars, default = 1)
-v (verbose, show passwd interaction)
-p prog (program to set password, default = passwd)
2. zpusob
htpasswd -m /hesla user
pak se 2x opta na heslo pro uzivatele user, zadam 2x heslo a do souboru /hesla se vygeneruje retezec. Tento zkopiruju do MYSQL pro autentifikaci mail klienta, ale heslo neni spravne.
napr: MD5 heslo pro "heslo" je: $apr1$yiA6h...$wrrPaxGYpVgiPm.awuGBA0
Spravny tvar je: $1$SBveC09l$N2ApfdPVbdKYCSXYjDmFZ.
Tak nevim, kde je chyba. DIk za kazdou radu.
Pouzivam FC3
crypt(3), myslím, že je možné jí volat z Perlu. To není možné dát MySql heslo v plainextu s tím, že si ho převede sama?
Algoritmus označený $apr1$ neznám, pro md5 musí salt začínat $1$.
[tsunami@vodik]$ mkpasswd --version GNU mkpasswd 4.7.11nebo můžeš použít třeba php funkci crypt a strkat jí náhodný salt:
crypt("foobar",'$1$blahblahg$')
vrací stejný výsledek jako
mkpasswd --hash=md5 -S blahblah foobar
bohužel, nevím, jak použít php funkci. Ještě mrknu na odkaz Michala Vyskočila.No musíš mít nainstalovaný řádkový interpet php. No a potom si to napíšeš do skriptu s
#!/usr/bin/env php. Já php na počítači nemám a tak bych to asi spouštěl takto v Perlu:
perl -e "print crypt('heslo','$1$salt$')"
Nicméně ten skript v odkazu byl daleko pokročilejší
$ echo "mojeheslo" | md5sum [tsunami@vodik]$ echo "mojeheslo" | md5sum b26e58c375375aa974938a801c581f40 -
[tsunami@vodik]$ mkpasswd --hash=md5 mojeheslo $1$M0gXuGYL$0rUlbr3LhS4euREFi11lE/
openssl passwd -1
Každopádně jsem rád, že ti to už funguje.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.