با استفاده از کتابخانه hashlib در پایتون، تابعی بنویسید که یک پسورد و یک salt را گرفته، هش SHA-256 تولید و به صورت رشته هگزادسیمال برگرداند و تابعی دیگر برای تأیید اینکه یک پسورد واردشده با هش ذخیره‌شده مطابقت دارد، پیاده‌سازی کنید.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:53

0.0

برای حل این مسئله از hashlib.sha256 استفاده کنید: ابتدا پسورد و salt را به بایت تبدیل (encode) کرده و آن‌ها را به هم الحاق کنید، سپس روی آن sha256 اجرا کرده و با hexdigest مقدار هگزادسیمال را بگیرید. برای تولید salt امن می‌توانید از ماژول secrets یا os.urandom استفاده کنید و هنگام بررسی پسورد، هش جدید را با هش ذخیره‌شده مقایسه کنید (به‌صورت مستقیم مقایسه کنید یا در عمل از روش‌های مقاوم در برابر زمان‌سنجی مانند hmac.compare_digest استفاده کنید).

توسط پژوهشگر در 202 روز قبل ساعت 02:53
دسته بندی ها: Python Python for beginner
nima در 202 روز قبل ساعت 08:11

پیشنهاد می‌شود به جای hashing ساده با SHA-256، از یک تابع مشتق کلید با تعداد تکرارهای زیاد (KDF) مانند PBKDF2_hmac استفاده کنید تا امنیت پسورد تقویت شود. salt را با استفاده از secrets یا os.urandom تولید کنید و آن را با hashing ذخیره نمایید. برای مقایسه هش‌ها از compare_digest در کتابخانه hmac استفاده کنید تا زمان-سنجی مقاوم باشد. هنگام تأیید، هش جدید را با هش ذخیره‌شده و salt مربوطه مقایسه کنید و خروجی به صورت هگزادسیمال است.

گزارش

1 پاسخ

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

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