برای جدول users که شامل ستون‌های id، username و password (متن) است، یک کوئری بنویسید که مقدار هش SHA2 با الگوریتم 256 بیت از هر password را به‌عنوان hashed_password نمایش دهد.

2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:07

0.0

برای حل این مسئله از تابع SHA2 در MySQL استفاده کنید: مثلاً SELECT id, username, SHA2(password, 256) AS hashed_password FROM users; توجه داشته باشید که SHA2 یک تابع هش است (نه رمزنگاری دوطرفه) و بهتر است برای پسوردها از نمک (salt) یا الگوریتم‌های مخصوص گذرواژه مثل bcrypt استفاده کنید؛ همچنین برای اجرای کوئری نیاز به دسترسی SELECT روی جدول users دارید و می‌توانید با CONCAT(password, salt) قبل از SHA2، نمک را اعمال کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:07
دسته بندی ها: MySQL MySQL for beginner
arash در 221 روز قبل ساعت 14:33

نکته امنیتی: SHA2 یک هش یک‌طرفه است و به‌تنهایی برای پسوردها امن نیست؛ استفاده از salt یا الگوریتم‌هایی مانند bcrypt یا Argon2 را توصیه می‌کنیم. در MySQL می‌توانید salt را به پسورد اضافه کرده و سپس SHA2 را روی نتیجه اجرا کنید تا hashed_password به‌دست آید (مثلاً CONCAT(password, salt)). برای هر کاربر salt جداگانه نگه دارید تا ایمنی افزایش یابد. این کوئری صرفاً برای نمایش hash است و جایگزین مدیریت امن گذرواژه‌ها نمی‌شود.

گزارش

1 پاسخ

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

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