در پایتون یک جفت کلید RSA تولید کنید، یک پیغام را با کلید خصوصی امضا کرده و هدر HTTP با نام "X-Signature" حاوی امضای Base64 شده را بسازید.

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

0.0

برای حل این مسئله می‌توانید از کتابخانه cryptography استفاده کنید: ابتدا کلید خصوصی و عمومی RSA را بسازید (rsa.generate_private_key)، سپس پیغام را به بایت تبدیل و با الگوریتم SHA256 و PKCS#1 v1.5 یا PSS امضا کنید، خروجی امضا را با base64.b64encode رمزگذاری کرده و در یک دیکشنری به‌صورت {'X-Signature': '...'} قرار دهید. نکته‌ها: پیغام را با encode به بایت تبدیل کنید، برای بررسی صحت امضا از کلید عمومی و متد verify استفاده کنید و در صورت نیاز کلیدها را با فرمت PEM ذخیره یا بارگذاری کنید (pip install cryptography).

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

برای امضای پیام با RSA در پایتون، پیام را به بایت تبدیل کنید و از padding مناسب مانند PKCS1v15 یا PSS استفاده کنید. هش را با SHA256 بگیرید، امضا را با کلید خصوصی تولید کرده و خروجی را با base64 بگیریند و در هدر HTTP با نام X-Signature قرار دهید. برای بررسی صحت امضا از کلید عمومی و تابع verify استفاده کنید و در صورت نیاز کلیدها را در قالب PEM ذخیره یا بارگذاری کنید. به منظور جلوگیری از تکرار امضاها، از یک nonce یا timestamp استفاده کنید و مدیریت امن کلیدها را رعایت کنید.

گزارش

1 پاسخ

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

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