یک جدول users با ستون‌های id (INT AUTO_INCREMENT PRIMARY KEY)، username و password بسازید و با استفاده از تابع PASSWORD در MySQL یک رکورد برای کاربر 'ali' با رمز 'MySecret123' وارد کنید سپس با یک SELECT هش ذخیره‌شده را نمایش دهید.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:26

0.0

برای حل این مسئله از دستورات پایه MySQL استفاده کنید: ابتدا جدول را با CREATE TABLE تعریف کنید (ستون password را به صورت VARCHAR با طول مناسب در نظر بگیرید)، سپس با INSERT INTO مقدار password را با PASSWORD('MySecret123') قرار دهید و در نهایت با SELECT password FROM users WHERE username='ali' مقدار هش شده را مشاهده کنید. نکته امنیتی: تابع PASSWORD برای استفاده داخلی MySQL طراحی شده و برای ذخیره امن رمز عبور برنامه‌ها بهتر است از SHA2 یا الگوریتم‌های قوی‌تری مانند bcrypt استفاده کنید؛ همچنین هرگز رمز را به‌صورت متن ساده در دیتابیس ذخیره نکنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:26
دسته بندی ها: MySQL MySQL for beginner
arash در 201 روز قبل ساعت 06:25

توصیه می‌کنم به‌جای استفاده از PASSWORD() برای ذخیره پسوردهای کاربری، این تابع را برای احراز هویت داخلی MySQL می‌دانند و ممکن است در نسخه‌های آینده تغییر یا حذف شود. به‌عنوان بهترین عمل، از bcrypt یا Argon2 (یا SHA-2 با salt مناسب) در لایهٔ برنامه استفاده کنید و تنها هش را در دیتابیس نگه دارید. همچنین از روش‌های prepared statements برای جلوگیری از SQL injection بهره ببرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری