Sto usando sha256 per crittografare la password. Posso salvare la password crittografata sha256 in mysql. Ma non riesco ad accedere con la stessa clausola.Come usare sha256 in php5.3.0
Inserire il codice:
<?php
error_reporting(E_ALL^E_NOTICE);
$username = $_POST['uusername'];
$passcode = $_POST['ppasscode'];
$userflag = $_POST['uuserflag'];
//$passcodeen = hash('sha256',$passcode);
$passcodeen = hash('sha256', (get_magic_quotes_gpc() ? stripslashes($ppasscode) : $ppasscode));
$conn = mysql_connect("localhost","charles","charles") or die("connection failed with DB:".mysql_error());
mysql_select_db("sessiondb");
$query = "INSERT INTO users(username,passcode,userflag) values('$username','$passcodeen','$userflag')";
Selezionare il codice:
<?php
error_reporting(E_ALL^E_NOTICE);
@mysql_connect("localhost","charles","charles") or die("Connection failed".mysql_error());
@mysql_select_db("sessiondb") or die("Database doesn't exist".mysql_error());
//get user input
$username = $_POST['username'];
$ppasscode = $_POST['ppasscode'];
//$passcodeen = hash('sha256', $ppasscode);
$passcodeen = hash('sha256', (get_magic_quotes_gpc() ? stripslashes($ppasscode) : $ppasscode));
//get session value from mysql
$query = @mysql_query("select username, userflag from users where username ='$username' and passcode = '$passcodeen'") or die("Query execution failed".mysql_error());
C'è qualcosa che non va? Sono molto confuso. Grazie.
Si sta utilizzando un campo VARCHAR per memorizzare la password? Perché la dimensione massima su varchars è di 255 caratteri ... – davethegr8
Puoi pubblicare un campione dell'hash come memorizzato nel database rispetto a come appare nel codice? –
Per sha256, è necessario un VARCHAR di almeno 64 caratteri. –