Portál AbcLinuxu, 11. května 2025 10:28
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.