thinkdiff
دوشنبه 16 دی 1392, 21:37 عصر
با سلام
من در بانکم به طور دستی یک پسورد رو با مقدار "123" و الگوریتم md5 ذخیره کردم و خروجیش این بود:
202cb962ac59075b964b07152d234b
و با استفاده از کد هام هم مقدار ورودی در textbox رو با md5 کد کردم و باهاش مقایسه کردم و ارور داد.بعد فهمیدم که کدم از همین 123 اینو تولید کرده :
202cb962ac59075b964b07152d234b70
اون 70 رو به آخرش اضافه کرده.کلا برای هر مقداری که میدم،کد من دو رقم به دلخواه خودش به آخر رشته اضافه میکنه و با مقدار داخل بانک مطابقت نداره ..!
حالا من میخوام ببینم چرا این کار رو میکنه ؟می خوام اطلاعات وارده رو با بانکم مقایسه کنم اینطوری نمیشه
اینم کدم :
<?php
require 'header.php';
require 'chek.php';
if(isset($_POST['user'])&&isset($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
echo $hash_pass = md5($_POST['pass']);
if(!empty($user)&&!empty($pass)){
$query = "SELECT `username` ,`password` FROM `users` WHERE `username`='".$user."' AND `password`='".$hash_pass."'";
if($query_run=mysql_query($query)){
$query_num = mysql_num_rows($query_run);
if($query_num == 0){
echo ' invalid entered information';
}else{
echo 'ok';
}
}
}else{
echo 'empty';
}
}else{
echo 'donnt set';
}
?>
ممنون میشم راهنماییم کنید
من در بانکم به طور دستی یک پسورد رو با مقدار "123" و الگوریتم md5 ذخیره کردم و خروجیش این بود:
202cb962ac59075b964b07152d234b
و با استفاده از کد هام هم مقدار ورودی در textbox رو با md5 کد کردم و باهاش مقایسه کردم و ارور داد.بعد فهمیدم که کدم از همین 123 اینو تولید کرده :
202cb962ac59075b964b07152d234b70
اون 70 رو به آخرش اضافه کرده.کلا برای هر مقداری که میدم،کد من دو رقم به دلخواه خودش به آخر رشته اضافه میکنه و با مقدار داخل بانک مطابقت نداره ..!
حالا من میخوام ببینم چرا این کار رو میکنه ؟می خوام اطلاعات وارده رو با بانکم مقایسه کنم اینطوری نمیشه
اینم کدم :
<?php
require 'header.php';
require 'chek.php';
if(isset($_POST['user'])&&isset($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
echo $hash_pass = md5($_POST['pass']);
if(!empty($user)&&!empty($pass)){
$query = "SELECT `username` ,`password` FROM `users` WHERE `username`='".$user."' AND `password`='".$hash_pass."'";
if($query_run=mysql_query($query)){
$query_num = mysql_num_rows($query_run);
if($query_num == 0){
echo ' invalid entered information';
}else{
echo 'ok';
}
}
}else{
echo 'empty';
}
}else{
echo 'donnt set';
}
?>
ممنون میشم راهنماییم کنید