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

11.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:44

0.0

در این اسکریپت از خواندن رمز به‌صورت پنهان (read -s) استفاده کنید، برای ایجاد salt از openssl rand -hex 16 یا مشابه آن بهره ببرید، سپس salt را به رمز متصل کرده و هش SHA-256 را با دستوراتی مثل openssl dgst -sha256 یا sha256sum محاسبه نمایید؛ نتیجه را در فایلی با ساختار username:salt:hash ذخیره کنید و دسترسی فایل را با chmod 600 محدود کنید. برای تأیید، مقدار ذخیره‌شده را بخوانید، از کاربر رمز را بگیرید، hash جدید را با همان salt محاسبه کرده و با مقدار ذخیره‌شده مقایسه کنید؛ نکات امنیتی: هرگز رمز را چاپ نکنید، از salt یکتا برای هر کاربر استفاده کنید و فایل حاوی هش‌ها را محافظت نمایید.

توسط پژوهشگر در 201 روز قبل ساعت 03:44
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 201 روز قبل ساعت 05:24

نکته امنیتی: رمز را با read -s بخوانید و هرگز چاپش نکنید. برای هر کاربر salt یکتا بسازید (openssl rand -hex 16) و فایل username:salt:hash را با chmod 600 محافظت کنید و نوشتن اتمیک انجام دهید. هش را با ترکیب salt و password و با printf بدون newline محاسبه کنید (مثلاً با openssl dgst -sha256 یا sha256sum). برای تأیید، hash جدید با همان salt را محاسبه کرده و با مقدار ذخیره‌شده مقایسه کنید و در این فرایند رمز را هرگز نمایش ندهید.

گزارش

1 پاسخ

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

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