<?php
$password="12345678";


function random_str($length="8")
{
    $set = array("a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J","k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T","u","U","v","V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8","9");
    $str = '';

    for($i = 1; $i <= $length; ++$i)
    {
        $ch = mt_rand(0, count($set)-1);
        $str .= $set[$ch];
    }

    return $str;
}

function salt_password($password, $salt)
{
    return md5(md5($salt).$password);
}

function generate_salt()
{
    return random_str(8);
}

$salt = generate_salt();

$hasan = salt_password($password, $salt);

echo "$hasan";
echo "<br /><br />";
echo "$salt";
?>
<br /><br />
<br />
<br />
ececfe5477878be6f00b05a4f0b6c4cc
</body>
</html>
Baya uğraştım fonksiyonlarıda buldum gibi ama hala bi eksiklik var uymuyor çünkü...


Yukardaki fonksiyonları nasıl buldunuz derseniz..

function update_password($uid, $password, $salt="")
{
    global $db, $plugins;

    $newpassword = array();

    // If no salt was specified, check in database first, if still doesn't exist, create one
    if(!$salt)
    {
        $query = $db->simple_select("users", "salt", "uid='$uid'", array('limit' => 1));
        $user = $db->fetch_array($query);
        if($user['salt'])
        {
            $salt = $user['salt'];
        }
        else
        {
            $salt = generate_salt();
        }
        $newpassword['salt'] = $salt;
    }

    // Create new password based on salt
    $saltedpw = salt_password($password, $salt);

    // Generate new login key
    $loginkey = generate_loginkey();

    // Update password and login key in database
    $newpassword['password'] = $saltedpw;
    $newpassword['loginkey'] = $loginkey;
    $db->update_query("users", $newpassword, "uid='$uid'", 1);

    $plugins->run_hooks("password_changed");

    return $newpassword;
}
burdan buldum ama işe yaramadı..