Code First در MVC – هش کردن رمز عبور با SHA-256

تهران آی تی / برنامــه نویــسـی / Code First در MVC – هش کردن رمز عبور با SHA-256

Code First در MVC – هش کردن رمز با SHA-256

در این آموزش نحوه هش کردن رمز عبور با SHA-256 را برسی میکنیم. رمز در دیتابیس نباید قابل خواندن باشد. و حتما آن را باید رمز کرد. یکی از بهترین روش های هش رمز  استفاده از الگوریتم SHA-256 میباشد.

توابع هش یک نوع رمزنگاری هستند. و داده‌های دیجیتالی را به‌صورت یک‌طرفه تغییر می‌دهند. و آن‌ها را به یک عبارت خروجی با نام هش و با یک اندازه ثابت، تبدیل می‌کنند.

منظور از یک‌طرفه بودن این توابع چیست ؟ یعنی با داشتن هش، نمی‌توان داده اولیه را محاسبه کرد اما با مقایسه‌ی هش خروجی با هشی که با توجه به داده‌های درست انتظار آن را داشتیم، می‌توانیم تایید کنیم که یک داده صحیح است.

الگوریتم های هشینگ متنوعی وجود دارند که هرکدام برای کاربرد خاصی استفاده می‌شوند. نوعی از این الگوریتم‌‌ها، الگوریتم SHA (مخفف Secure Hashing Algorithm) یا الگوریتم هشینگ امن نام دارد که کاربرد آن، از نامش مشخص است.

نحوه هش کردن با SHA-256

  • گام اول : ابتدا کلاس SHA256 را از لینکی که در پایین صفحه است دانلود و به پروژه خود اضافه کنید.
  • گام دوم : در هر جا که نیاز است میتوانید توسط دستور زیر رمز عبور خود را رمز کنید.

نمونه کد برای هش کردن در فرم رجیستر

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register([Bind(Include = "UserID,Name,Family,Password,RePassword,Email")] UserRegisterViewModel User)
{
if (ModelState.IsValid)
{
string password=Sha256.GetPassword(User.Password);
User.Password= password;

User MyUser = new User();
MyUser = AutoMapperConfig.mapper.Map<UserRegisterViewModel, User>(User);
MyUser.RegisterDate = DateTime.Now;
MyUser.Gender = true;
db.Users.Add(MyUser);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(User);
}

نمونه کد برای هش کردن در فرم لاگین

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult login([Bind(Include = "Email,Password")]UserLoginViewModel userLoginViewModel)
{
if(ModelState.IsValid)
{
userLoginViewModel.Password = Sha256.GetPassword(userLoginViewModel.Password);
var user=db.Users.FirstOrDefault(t=>t.Email == userLoginViewModel.Email && t.Password==userLoginViewModel.Password);
if (user!=null)
{
ModelState.AddModelError("login", "ورود با موفقیت امجام شد");
}
else
{
ModelState.AddModelError("login", "رمز عبور یا نام کاربری صحیح نمیباشد");
}
}
return View();
}

دانلود کلاس هش کردن رمز عبور با SHA-256

راهنمای خرید

خرید از تهران آی تی به صورت آنلاین بوده لینک دانلود به صورت خودکار برای شما ایمیل میشود بدیهی است که در هنگام خرید باید از ایمیل واقعی خود استفاده کنید. چنانچه نیاز به هرگونه سوال درباره محصول و یا مشاوره و کمک در خرید آنلاین داشتید از طریق ایمیل و یا شماره های تماس ارتباط برقرار کنید 09121486770 ahadian2@gmail.com

جستجو کنید

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد