ببینید شما تابع MakeHash رو اینجوری صدا میزنید (مثلاً) :
PHP:
$pepper = NULL;
$pass = MakeHash($_POST['password'], $pepper);
این تابع هم پسورد Hash شده رو توی pass$ و Pepper تولید شده تصادفی رو هم توی pepper$ بهتون تحویل میده. حالا باید pass$ رو توی دیتابیس توی فیلد رمز و pepper$ رو توی فیلد فلفل ذخیره کنید.
موقع چک کردم رمز کاربر هم فیلد فلفل رو از دیتابیس میخونید (برحسب نام کاربری پیداش میکنید) و بعد، به این شکل رمز رو چک میکنید:
PHP:
$pepper = $row['pepper'];
$pass = MakeHash($_POST['password'], $pepper);
همونطور که میبینید، اینجا دیگه pepper$ برابر با NULL نیست و درنتیجه تابع MakeHash یک مقدار تصادفی براش نمیسازه و فقط pass$ رو برحسب مقدار وارد شده توسط کاربر با ترکیب pepper$ تولید میکنه که اگه با فیلد ['row['pepper$ برابر باشه، درنتیجه رمز درست وارد شده.