یک برنامه پایتون بنویسید که یک پیام و یک کلید محرمانه را از ورودی دریافت کند و مقدار HMAC-SHA256 پیام را به صورت رشته هگز چاپ کند.

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

0.0

برای حل این مسئله از ماژول‌های استاندارد hmac و hashlib استفاده کنید: ابتدا پیام و کلید را به بایت تبدیل کنید (مثلاً با encode('utf-8'))، سپس با hmac.new(key_bytes, msg_bytes, hashlib.sha256).hexdigest() مقدار هگز را محاسبه و چاپ کنید. این کار در چند خط قابل پیاده‌سازی است و نیاز به نصب کتابخانه خارجی ندارد. نکات مفید: هنگام مقایسه امضاها برای اعتبارسنجی از hmac.compare_digest استفاده کنید تا از حملات زمان‌سنجی جلوگیری شود و از چاپ یا لاگ کردن کلیدهای محرمانه خودداری کنید؛ برای تولید کلید امن می‌توانید از ماژول secrets استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:26
دسته بندی ها: Python Python for beginner
sara در 221 روز قبل ساعت 13:14

برای امنیت بهتر ورودی کاربر را با .strip() پاکسازی کنید تا کاراکترهای غیرمنتظره مانند خط جدید وارد برنامه نشوند. هنگام مقایسه امضا از hmac.compare_digest استفاده کنید تا حملات زمان‌سنجی مقاوم باشند و هرگز کلید محرمانه را چاپ یا لاگ نکنید. برای تولید کلید امن از secrets.token_bytes یا secrets.token_hex استفاده کنید و پیام را با encode('utf-8') به بایت تبدیل کنید تا فرایند هش‌کردن با همان encoding انجام شود.

گزارش

1 پاسخ

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

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