[Postfix] MD5 password generalassal perllel
- 1884 megtekintés
Hozzászólások
Sziasztok!
Beallitottam a http://high5.net/howto/ alapjan a courier-t. Szep es jo, csak nemtok jelszot generalni.
Amit peldanak ad az oldal:(user es az md5-os megfeleloje)
[code:1:b10c2dcf8b]
user
$1$caea3837$gPafod/Do/8Jj5M9HehhM.
[/code:1:b10c2dcf8b]
Namost ugyanezt szeretnem perl alatt is reprodukalni. Valakinek van esetleg 5lete?
Mivel mysql-ben tarolja, azt hittem, hogy Crypt::MySQL modul kell nekem, es azzal le tudom generalni a jelszot, de nem.
[code:1:b10c2dcf8b]
use Crypt::MySQL qw(password);
print password("secret")."\n";
[/code:1:b10c2dcf8b]
Probaltam meg a sima crypt (es a Digest:MD5 modult is), de egyikkel se sikerul ezt legeneralnom...
Nem talalok igazan forrast, ahonnan latszodna, hoyg hogyan lehetne jo jelszot generalni.
Viszont a postfixadmin nevu php szkriptgyujtemenyben megtlaltam az idevonatkozo kodreszletet(functions.inc.php 514.sor):
letolteni innen toltottem le:
http://high5.net/postfixadmin/download.php?file=postfixadmin-2.0.4.tgz
[code:1:b10c2dcf8b]
$MAGIC = "$1$";
$ITOA64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
function md5crypt ($pw, $salt="", $magic="")
{
global $MAGIC;
if ($magic == "") $magic = $MAGIC;
if ($salt == "") $salt = create_salt();
$slist = explode ("$", $salt);
if ($slist[0] == "1") $salt = $slist[1];
$salt = substr ($salt, 0, 8);
$ctx = $pw . $magic . $salt;
$final = hex2bin (md5 ($pw . $salt . $pw));
for ($i=strlen ($pw); $i>0; $i-=16) {
if ($i > 16)
$ctx .= substr ($final,0,16);
else
$ctx .= substr ($final,0,$i);
}
$i = strlen ($pw);
while ($i > 0) {
if ($i & 1) $ctx .= chr (0);
else $ctx .= $pw[0];
$i = $i >> 1;
}
$final = hex2bin (md5 ($ctx));
for ($i=0;$i<1000;$i++) {
$ctx1 = "";
if ($i & 1) $ctx1 .= $pw;
else $ctx1 .= substr ($final,0,16);
if ($i % 3) $ctx1 .= $salt;
if ($i % 7) $ctx1 .= $pw;
if ($i & 1) $ctx1 .= substr ($final,0,16);
else $ctx1 .= $pw;
$final = hex2bin (md5 ($ctx1));
}
[/code:1:b10c2dcf8b]
Ahogy nezem ez a perlbe is beepitett crypt fuggveny.
Amit nem tudok:
Mibol generalja a $salt valtozot?
Jelszo formaja tehat:
$1$PASS$SALT
Namost nekem ezt a scretbol sehogy se sikerul megkpanom.
Tudna valaki segiteni nekem?
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
mysql:
select ENCRYPT("asd");
- A hozzászóláshoz be kell jelentkezni
Hi!
A salt-ot egy create_salt(); fuggveny csinalja, amit valahol a function v. include v. nem is tudom pontosan, hogy mi a neve php-ban megtalalsz. Azt hiszem pont ebben a filebanm van.
mysql fele crypt nem egeszen kompatibilis a dologgal, nekem ez a tapasztalat.
Udv.
- A hozzászóláshoz be kell jelentkezni
asd: Ezt en is probaltam.
[code:1:46ec676a38]
+-------------------+
| ENCRYPT("secret") |
+-------------------+
| bz5S97b0axNOY |
+-------------------+
[/code:1:46ec676a38]
Namost ezt nem fogadja el a courier-authmysql (amikor probalok kapcsolodni).
Viszont a :
$1$caea3837$gPafod/Do/8Jj5M9HehhM.
Elfogadta secret-nek.
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
tibyke@home tibyke $ php -r "echo crypt('jelszo');";echo
$1$ijip4g7U$MmhCCfSQ32LYE0QvNHzuI0
- A hozzászóláshoz be kell jelentkezni
[quote:9b33b57877="tibyke"]tibyke@home tibyke $ php -r "echo crypt('jelszo');";echo
Szuper, mar csak ennek a php-s crypt() -nek a megfelelojet kell megtalalnom perlben.
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
>Indeed, the normal MD5 crypt uses the format
magic $1$ followed by 12-char salt followed by 22-char hash
Namost nekem a crypt (perles) 13 karakteres hashel jon vissza.
- A hozzászóláshoz be kell jelentkezni
LEirom a perles megoldast hatha valakit meg erdekel:
[code:1:2b337bad67]
my $salt=join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64, rand 64
, rand 64, rand 64,rand 64, rand 64, rand 64];
my $crypt=crypt ("secret","\$1\$$salt\$");
[/code:1:2b337bad67]
- A hozzászóláshoz be kell jelentkezni