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