나는 암호를 암호화하기 위해 sha256을 사용하고 있습니다. mysql에 sha256 암호화 된 비밀번호를 저장할 수 있습니다. 하지만 같은 절로 로그인 할 수는 없습니다.php5.3.0에서 sha256을 사용하는 방법
삽입 코드 :
<?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')";
선택 코드 : 뭔가 잘못
<?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());
있습니까? 나는 매우 혼란 스럽다. 감사.
당신은 암호를 저장하는 VARCHAR 필드를 사용하고 있습니까? 으로 VARCHAR의 최대 크기는 255 자입니다 때문에 ... – davethegr8
당신은 코드에서 모양을 비교 데이터베이스에 저장된 그와 같은 해시의 샘플을 게시 할 수 있습니까? –
sha256의 경우 최소 64 자의 VARCHAR가 필요합니다. davethegr8 @ –