PDA

View Full Version : تولید نشدن کد unique توسط تایع hash



majid1605
دوشنبه 11 شهریور 1392, 14:53 عصر
سلام


Private function Generate_Unique_Salt($ID = NULL, $Salt = NULL, $Length = NULL)
{
$ID = ($ID == NULL) ? uniqid(rand(), TRUE) : $ID;
$Salt = ($Salt == NULL) ? uniq(hash("sha256",$ID),TRUE) :$Salt ;
$Unique_Code = hash("sha256", $ID.$Salt);
return $Length == NULL ? $Unique_Code : substr($Unique_Code, 0, $Length);
}

تابع بالا از اسمش معلومه چکار می کنه.مشکل اینجاست که یک کد ثابت تولید میکنه
طول کد تولید شده توسط hash چقدره؟
کاری که انجام دادم امنیت لازم رو ایجاد می کنه ؟
ممنون
--------------------------------------------------------
متوجه شدم ایراد کار کجاست دوتا متغیر ورودی که به تابع می دادم مقدارشون ثابت بود برای همین این تابع کد ثابتی رو تولید می کرد .یکم تغییرش دادم درست شد.
فقط دوتا سوال رو جواب بدید ممنون میشم