Używam sha256 do szyfrowania hasła. Mogę zapisać zaszyfrowane hasło sha256 w mysql. Ale nie mogę się zalogować z tą samą klauzulą.Jak korzystać z sha256 w php5.3.0
kod Wkładka:
<?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')";
Wybierz kod:
<?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());
Czy coś się stało? Jestem bardzo zmieszany. Dzięki.
Czy używasz pola VARCHAR do przechowywania hasła? Ponieważ maksymalny rozmiar na varcharach wynosi 255 znaków ... – davethegr8
Czy możesz umieścić próbkę skrótu jako jej zapisaną w bazie danych w porównaniu do tego, jak wygląda w kodzie? –
Dla sha256 potrzebujesz VARCHAR co najmniej 64 znaków. –