نمایش نتایج 1 تا 2 از 2

نام تاپیک: مشکل با استفاده از md5 برای رمز نگاری

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    مشکل با استفاده از md5 برای رمز نگاری

    سلام
    من برای رمزنگاری پسورد از الگوریتم md5 به صورت زیر استفاده کردم.و پسورد را به صورت رمز شده در دیتابیس ذخیره کردم

    Dim hashpass AsString
    hashpass = System.Web.Security.FormsAuthentication.HashPasswo rdForStoringInConfigFile(TextBoxpassword.Text, "md5")

    در موقع لاگین برای چک کردن پسورد مجددا این کار را تکرار کردم (مقدار پسورد را رمزنگاری کردم)و مقدار پسورد خونده شده را با مقدار موجود در دیتابیس چک کردم.
    ولی مشکل اینه که مقدار خونده شده با حروف بزرگ است و مقدار موجود در دیتابیس با حروف کوچک است و موقع مقایسه برابر در نظر گرفته نمیشوند.و وقتی هم با تابع
    hashpass.ToLower اون را به حروف بزرگ تبدیل میکنم مقدارش عوض میشود.
    من نوع پسورد را هم nvarchar(MAX) در دیتابیس در نظر گرفتم.
    از دوستان میخوام که من را راهنمایی کنند که کجای کارم مشکل دارد
    ممنون

  2. #2
    اول اینکه md5 الگوریتم رمز نگاری نیست! الگوریتم hash هست که ربطی به رمز نگاری نداره. (باور کن ملالغتی نیستم، ولی این دو تا خیلی تفاوت دارن!)
    برای پسوردها هم از نظر امنیتی بهتره همینطور که استفاده میکنی بمونه و حروف بزرگ و کوچیک فرق داشته باشن. اینطوری فضای جستجو برای کرکرها بیشتر میشه و پیدا کردن پسورد سخت تر.
    اما اگر بازهم میخوای case sensitive نباشه پسوردهات، راهش اینه که قبل از اینکه پسورد رو برای ذخیره تو دیتابیس hash کنی، اون ToLower کنی و بعد hash کنی و در دیتابیس ذخیره کنی.
    هروقت هم خواستی مقایسه کنی، بازهم اول ToLower و بعدش hash.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •