Jeg har for nyligt i et site jeg ved at lave brugt
PBKDF2 som hashing algoritme
PBKDF2 on Wikipedia
Og her en En php impletation
Det var også en mulighed at overveje.
P.S.
Hvis du stadig vil brug sha vil jeg anbefale sha256
hash('sha256', $salt.$kodeord.$evtlastsalt, false);
Jeg kan ikke få din
hash('sha256', $salt.$kodeord.$evtlastsalt, false); til at virke. Jeg tror jeg laver noget forkert. Den kan godt registrer bruger, men den kan ikke finde brugeren i databasen.
Her er min PHP kode til registrering:
- <?php
- include('connect.php');
-
- $submit = $_POST['submit'];
-
- //data fra registrer.php //
- $navn = mysql_real_escape_string(strip_tags($_POST['navn']));
- $email = mysql_real_escape_string(strip_tags($_POST['email']));
- $brugernavn = mysql_real_escape_string(strip_tags($_POST['brugernavn']));
- $adgangskode = mysql_real_escape_string(strip_tags($_POST['adgangskode']));
- $gentag = mysql_real_escape_string(strip_tags($_POST['gentag']));
- $styrke = 50;
- $hurtighed = 50;
- $viden = 50;
- $charme = 50;
- $popularitet = 0;
- $penge = 500;
- $indkomst = 100;
- $brugertype = 0;
- $rpgnavn = $brugernavn;
- $dato = date("Y-m-d");
-
- $salt = hatala;
- $evtlastsalt = haha;
-
- echo "<h1 align='center'>Registrering af bruger</h1>";
-
- $sql = "SELECT * FROM brugere WHERE brugernavn ='" . $brugernavn . "'";
-
- $resultat = mysql_query($sql);
- ?>
- <html>
- <head>
- <meta charset="iso-8859-1">
- <link rel="stylesheet" href="../andet.css" type="text/css" />
- <title>Darkrune Gamer Site - Brugere - Registrer</title>
- </head>
- <body>
- <?php
- if ($submit)
- {
- //Checker om det eksisterer//
- if ($navn&&$email&&$brugernavn&&$adgangskode&&$gentag)
- {
-
- if ($adgangskode==$gentag)
- {
- if (strlen($brugernavn > 32)||strlen($navn > 32))
- {
- echo "Dit brugernavn eller navn er for langt!";
- }
- else
- {
-
- if (strlen($adgangskode)>32||strlen($adgangskode)<6)
- {
- echo "Adgangskoder skal være mellem 32 og 6 karakterer!";
- }
-
- if (mysql_num_rows($resultat) == 1)
- {
- echo "Der findes allerede en bruger med det brugernavn";
-
- }
- else
- {
- $adgangskode = hash('sha256', $salt.$adgangskode.$evtlastsalt, false);
- $gentag = hash('sha256', $salt.$adgangskode.$evtlastsalt, false);
- $queryreg = mysql_query("INSERT INTO brugere VALUES ('','$navn','$email', '$brugertype', '$brugernavn', '$rpgnavn', '$adgangskode','$styrke','$hurtighed','$viden','$charme','$popularitet', '$penge', '$indkomst', '$dato')");
-
- echo "Du er blevet registreret!";
-
- }
-
- }
- }
- else
- {
- echo "Adgangskoderne er ikke ens!";
- }
- }
- else
- {
- echo "Udfyld venligst <b>alle</b> felterne!";
- }
- }
- ?>
Her er min log ind PHP kode:
- <?php
- session_start();
-
- $salt = hatala;
- $evtlastsalt = haha;
-
- $brugernavn = mysql_real_escape_string($_REQUEST['brugernavn']);
- $adgangskode = mysql_real_escape_string($_REQUEST['adgangskode']);
- $adgangskode = hash('sha256', $salt.$adgangskode.$evtlastsalt, false);
-
- $sql = "SELECT * FROM brugere WHERE brugernavn ='" . $brugernavn . "' AND adgangskode ='" . $adgangskode . "';";
-
- $resultat = mysql_query($sql);
-
- if (mysql_num_rows($resultat) == 1)
- {
- $_SESSION['brugernavn'] = $brugernavn;
- header('Location: menu.php');
- }
- else if ($brugernavn == "")
- {
- $fejl = urlencode("Indtast venligst et brugernavn");
- header("Location: index.php?besked=" . $fejl);
- }
- else if ($adgangskode == "")
- {
- $fejl = urlencode("Indtast venligst en adgangskode");
- header("Location: index.php?besked=" . $fejl);
- }
- else
- {
- $fejl = urlencode("Forkert brugernavn og/eller adgangskode");
- header('Location: index.php?besked=' . $fejl);
- }
- ?>