بسیاری از توصیه های دوستان خوب بود. اما بهترین اشاره همین نقل قول فوق است.برای اینکار باید دنبال الگوریتم های اختصاصی خودتون باشید
ضمن این که فراموش نکنید شما مثلا دارید رمز حساب کاربری انجمن یک نفر را ذخیره می کنید یا رمز حساب بانکی کاربر.
منظورم این است سطح امنیت را لحاظ کنید و مثلا برای دوچرخه خود قفلی طراحی نکنید که حملش به ماشین نیاز داشته باشد.
به نظر من md5 به صورت ترکیب با یک الگو که فقط برنامه نویس ازش خبر دارد به قدر کافی (حتی در رده یک بانک) میتواند ایمن باشد. شما میتوانید salt را با الگویی اختصاصی خودتان تولید کنید. در جایی که هیچ کس ازش خبردار نیست. تا نیاز نباشد مثل خیلی اسکریپت ها salt را کنار رمز بزارید (مثل IPB) که راحت در دسترس باشد. مثلا بر اساس روز هفته یا ip رجیستر شده کاربر با کمک md5 یا شاها یک salt یونیک برای اون کاربر ایجاد می کنید.
از اونجا که تاریخ رجیستر کاربر یا مثلا IP که باش در سایت شما رجیستر کرده همیشه موجود است، همواره میتونید این salt را بازیابی کنید و نیاز نیست در دیتابیس ذخیره اش کنید. کسی هم نمی داند این salt از کجا آمده و بر فرض انکرایپت کردن هش md5 شما به رمز درستی دست پیدا نمی کند.
اگر موضوع فرای آن باش و دیتای فوق محرمانه باشند که دیگر طبق الگوها اصلا داشتن پسورد فاقد امنیت است و باید رفت سراغ کلید رمزنگاری این حرف ها (بیشتر در رده اطلاعاتی سازمان ها).
در اون متد شما شبیه ssl عمل می کنید. کلید رمز نگاری خصوصی دست کاربر است و عمومی در سمت سایت عرضه شده و تطابق اون مجوز احراز هویت کاربر. البته جایی که شما دیتا را انکرایپت شده ذخیره نمی کنید استفاده از این متد بی معنی است. این متد جایی کاربرد دارد که شما میخوای مدیر سایت هم به اطلاعات حساب شما دسترسی نداشته باشد. یعنی هیچ کس جز خود کاربر. (نه فقط لاگین کردن بلکه کل اطلاعات حساب).





پاسخ با نقل قول