<?php class Sifre { var $tuz; function sifrele($sifre, $tuz = '') { $this->tuz=$tuz; $buyu = '$1$'; $karakterler = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; if (strlen($this->tuz) < 8) { mt_srand ((double) microtime() * 1000000); for ($i = 8; $i > strlen($this->tuz);) { $this->tuz .= $karakterler{mt_rand (0, strlen($karakterler)-1)}; } } $passwd = crypt($sifre, $buyu . $this->tuz); return($passwd); } function kontrol($sifre, $sifreli) { $test = $this->sifrele($sifre, substr($sifreli, 3, 8)); if ($test == $sifreli) { return(true); }else{ return(false); } } function rastgeleSifreUret() { $karakterler = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; $this->tuz=mt_srand ((double) microtime() * 1000000); for ($i = 8; $i > strlen($this->tuz);) { $this->tuz .= $karakterler{mt_rand (0, strlen($karakterler)-1)}; } return($this->tuz); } } $p = new Sifre; echo $rastgele= $p->rastgeleSifreUret(); echo "<br>"; echo $sifreli = $p->sifrele($rastgele,$tuz=rand(1,2)); echo "<br>"; if ($p->kontrol($rastgele,$sifreli)) { echo "Doğru Şifre"; }else{ echo "Hatalı Şifre"; } ?>
Çıktısı
h95Pjaec $1$1xuDtzzC$VcOdiz8wCJRBZgdHhYjWt1 Doğru Şifre