salt on my user password
<p>Heey Guys</p>

<p>It is such that I only like to do this to my side not only is sha1. but is a little safer to log in and many other things.</p>

<p>Now try I make an example.</p>

<pre><code>function generateSalt($length) {
      $alphabet = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
      $alphabet_length = strlen($alphabet);
      $salt = '';
      for ($i = 0; $i &lt; $length; $i++) {
          $salt .= $alphabet[rand(0, $alphabet_length - 1)];
      }
      return $salt;
  }

  /*
  * Opret bruger på siden og kan har mulighed for alle ting!..
  */

 function bruger_opret_siden(){
         if ($stmt = $this-&gt;mysqli-&gt;prepare('SELECT NULL FROM `bruger` WHERE `brugernavn` = ?'))
         {
             $stmt-&gt;bind_param('s', $brugernavn);
             $brugernavn = $_POST["brugernavn"];
             $stmt-&gt;execute();
             $stmt-&gt;store_result();
             $count = $stmt-&gt;num_rows;
             $stmt-&gt;close();
             if($count &gt; 0)
             {
                 $user_found = 1;
             }
         }
         if(!isset($user_found))
         {
             if($_POST["pass"] != $_POST["gentag"])
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive ens password på siden..&lt;/li&gt;";
             }
             if(empty($_POST["pass"]) &amp;&amp; empty($_POST["gentag"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive et password på siden..&lt;/li&gt;";
             }
             if(empty($_POST["navn"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive et Fornavn&lt;/li&gt;";
             }
             if(empty($_POST["efternavn"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive et Efternavn&lt;/li&gt;";
             }
             if(empty($_POST["land_by"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive en by&lt;/li&gt;";
             }
             if(empty($_POST["hojde"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive en Højde&lt;/li&gt;";
             }
             if(empty($_POST["email"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive en Email&lt;/li&gt;";
             }
             if(empty($_POST["brugernavn"]))
             {
                 $errors = 1;
                 echo "&lt;li id=\"check_not\"&gt;Angive en Højde&lt;/li&gt;";
             }

             if(!isset($errors))
             {
                 $pb = null;

                 include 'function/class.upload.php';
                 $handle = new Upload($_FILES["file"]);

                 if($handle-&gt;uploaded)
                 {
                     //lidt mere store billeder
                     $handle-&gt;image_resize = true;
                     $handle-&gt;image_ratio_y = true;
                     $handle-&gt;image_x = 220;
                     $handle-&gt;Process("profil-img/store");

                     //til profil billede lign..
                     $handle-&gt;image_resize = true;
                     $handle-&gt;image_ratio_crop = true;
                     $handle-&gt;image_y = 115;
                     $handle-&gt;image_x = 100;
                     $handle-&gt;Process("profil-img");

                     //til profil billede lign..
                     $handle-&gt;image_resize = true;
                     $handle-&gt;image_ratio_crop = true;
                     $handle-&gt;image_y = 75;
                     $handle-&gt;image_x = 75;
                     $handle-&gt;Process("profil-img/lille");
                     $pb = $handle-&gt;file_dst_name;            

                 }

              $password = $_POST["pass"];
              $algorithm = '$6$'; //&lt;--- Dette betyder SHA 512
              $salt = $this-&gt;generateSalt(16); //&lt;--- SHA 512 bruger et 16 tegn langt salt

              $hash = crypt($password, $algorithm . $salt);

             if ($stmt = $this-&gt;mysqli-&gt;prepare('INSERT INTO `bruger` 
             (`rank`, `email`, `brugernavn`, `password`, `profilbillede`, `profilbillede_godkendt`, `navn`, `efternavn`, `alder_d`, `alder_m`, `alder_aar`, `status`, `kon`, `seksualitet`, `land_by`, `hojde`) 
             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'))
             {

                 $stmt-&gt;bind_param('issssisssssiiisi', $rank, $email, $brugernavn, $password, $profilbillede, $pb_godkendt, $navn, $efternavn, $alder_d, $alder_m, $alder_aar, $kon, $seksualitet, $partnerstatus, $land_by, $hojde);
                 $rank = '1';
                 $pb_godkendt = '1';
                 $email = $_POST["email"];
                 $brugernavn = $_POST["brugernavn"];//C
                 $password = $hash;//C
                 $profilbillede = $pb;//C
                 $navn = $_POST["navn"];
                 $efternavn = $_POST["efternavn"];
                 $alder_d = $_POST["alder_d"];
                 $alder_m = $_POST["alder_m"];
                 $alder_aar = $_POST["alder_aar"];
                 $kon = $_POST["kon"];
                 $seksualitet = $_POST["seksualitet"];
                 $partnerstatus = $_POST["partnerstatus"];
                 $land_by = $_POST["land_by"];
                 $hojde = $_POST["hojde"];

                 $stmt-&gt;execute();
                 $stmt-&gt;close();

                 echo "godkendt";

                 }
                 else
                 {
                     /* Der er opstået en fejl */
                     echo 'Der opstod en fejl i erklæringen til ligge i databasen: ' . $mysqli-&gt;error;
                 }
             }
         }
         else
         {
             echo "&lt;li id=\"check_not\"&gt;Dette brugernavn er optaget!!&lt;/li&gt;";
         }
 }
</code></pre>

<p>Here's how it looks on the register page:</p>

<pre><code> if(isset($_POST["godkendt_bruger"]))
             {
                 $pass = $mebe-&gt;generateSalt();
                 $users = $mebe-&gt;bruger_opret_siden();
             }
'&lt;?php
     /*
      * Giver admin adgang til se indhold på siden.
      */
     if(isset($_SESSION["rank"]) &amp;&amp; $_SESSION["rank"] &gt; 0) {
         $bruger = $mebe-&gt;brugerindhold_side();
     }


     /*
      * Hvis ingen af dem så få de bare adgang sådan her..
      */
     else{
     ?&gt;
 &lt;form name="login" method="post" action="#"&gt;
     &lt;h1&gt;Log ind&lt;/h1&gt;
     &lt;p&gt;Brugernavn&lt;/p&gt;&lt;input type="text" name="brugernavn"/&gt;
     &lt;p&gt;Password&lt;/p&gt;&lt;input type="password" name="pass"/&gt;
     &lt;br /&gt;
     &lt;input type="submit" name="Log_ind" value="Log ind" id="login"&gt;
     &lt;?php
     if(isset($_POST["Log_ind"]))
     {
     $pass = $mebe-&gt;generateSalt(12);
     $login = $mebe-&gt;godkendt_bruger_login();
     }
     ?&gt;
     &lt;ul&gt;
         &lt;li&gt;&lt;a href=""&gt;Forgot password and username&lt;/a&gt;&lt;/li&gt;
         &lt;li&gt;&lt;a href="/opret-bruger/"&gt;Users&lt;/a&gt;&lt;/li&gt;
     &lt;/ul&gt;
 &lt;/form&gt;
 &lt;?php
     }
 ?&gt;
</code></pre>

<p>This says it in when I need to log into the page:</p>

<p>Notice: Undefined variable: hash in /home/jesperbo/public_html/mebe/function/function.php on line 216</p>

<pre><code>function godkendt_bruger_login(){
          $password = $_POST["pass"];
          $algorithm = '$6$'; //&lt;--- Dette betyder SHA 512
          $salt = $this-&gt;generateSalt(16); //&lt;--- SHA 512 bruger et 16 tegn langt salt
         if($stmt = $this-&gt;mysqli-&gt;prepare('SELECT `id`, `brugernavn`, `rank`, `profilbillede`, `profilbillede_godkendt` FROM `bruger` WHERE `brugernavn` = ? AND `password` = ?'))
         {
         $stmt-&gt;bind_param('ss', $brugernavn, $password);
         $brugernavn = $_POST["brugernavn"];
         $password = $hash;
         $stmt-&gt;execute();
         $stmt-&gt;store_result();
         $stmt-&gt;bind_result($id, $brugernavn, $rank, $profilbillede, $profilbillede_godkendt);
         $stmt-&gt;fetch();
         $count = $stmt-&gt;num_rows;
         $stmt-&gt;close();

         if($count &gt; 0)
         {
             $_SESSION["logged_in"] = true;
             $_SESSION["id"] = $id;
             $_SESSION["profilbillede"] = $profilbillede;
             $_SESSION["brugernavn"] = $brugernavn;
             $_SESSION["rank"] = $rank;
             $_SESSION["profilbillede_godkendt"] = $profilbillede_godkendt;

             if($_SESSION["logged_in"] == true)
             {
                 echo "godkendt";
             }
             else
             {
                 echo "&lt;p&gt;Desværre prøve igen brugernavn eller adgangskode passe ikke med vores&lt;/p&gt;";
             }
         }
         else
         {
             echo "&lt;p&gt;Skrive brugernavn og Password&lt;/p&gt;";
         }
     }
     }
</code></pre>

<p>That is to say here;</p>

<pre><code>$password = $hash;
</code></pre>

<p>Create part works fine as it makes a long password. but that the problem is that when I log into the page.</p>

<p><strong>Hope you can help me</strong></p>
