• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
روش کار توابع هش کننده پسورد
#1
میدونید که دو روش برای هش کردن رمزها وجود داره یکی برگشت پذیر و یکی برگشت ناپذیر. یعنی رمزی که هش شده دیگه قابل تبدیل به رمز نیست. من هرچی فکر می کنم متوجه نمیشم این قضیه چطور انجام میشه. از یک طرف هش تولید شده دیگه به رمز تبدیل نمیشه و از یک طرف اگر رمز را داشته باشی می تونی اون رو با هش تطابق بدی. این رو من متوجه نمیشم چطوریه. اگر کسی میدونه روش کارش چیه، خدا خیرش بده بگه منم از این ابهام در بیام.
  پاسخ
تشکر شده توسط :
#2
نقل قول:میدونید که دو روش برای هش کردن رمزها وجود داره
Big Grin

یه چیزای میدونی اما همه چی رو قاطی پاتی میگی
دو نوع رمز نگاری داریم یکیش برگشت پذیر یکیش برگشت ناپذیر
رمز نگاری برگشت ناپذیر رو میگن بهش هش
هرچند میشه گفت هش جز رمز نگاری نیست !

هش یک آلگوریتمی هست که یک سری عملیات روی دیتا انجام میده و در نهایت به یک طول رشته ثابت میرسه .

یه مثال خیلی ساده میگم بهت فرض کن ما میگیم یه آلگوریتم بسازید که هر عددی بهش میدیم همیشه یک عدد دو رقمی بده
خب طرز کار اینطوری که ما ارقام عدد مورد نظر رو با همدیگه جمع کنیم مثلا
123456789
رو بیاییم جمع کنیم
1+2+3+4+5+6+7+8+9 = 45

حالا از عدد 45 نمیشه به اعداد قبلی رسید .


هش سیستمش اینجوری .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : ayoubsys soheyl_ir89 mihan43
#3
(۱۳۹۶ دى ۱۴, ۰۲:۵۴ ق.ظ)Reza نوشته: حالا از عدد 45 نمیشه به اعداد قبلی رسید . هش سیستمش اینجوری .

خب حالا چطوریه که هش بدست آمده برای رمز های مشابه یکی نیست. یعنی هر بار که یک رمز رو هش می کنی نتیجه متفاوته و یکی نیست. اگر اینطور باشه چطور میشه با داشتن رمز، صحت هش رو تایید کرد؟
  پاسخ
تشکر شده توسط :
#4
نقل قول: خب حالا چطوریه که هش بدست آمده برای رمز های مشابه یکی نیست. یعنی هر بار که یک رمز رو هش می کنی نتیجه متفاوته و یکی نیست. اگر اینطور باشه چطور میشه با داشتن رمز، صحت هش رو تایید کرد؟
فانکشن هایی مثل md5 و sha1 برای رشته های یکسان یک کد رو تولید میکنند .
اما یک روش دیگه داریم که یک رشته رندم هم به اسم سالت به رشته قبل از هش کردن اضافه میکنه
و خود رشته رندم رو هم داخل کد تولیدی اضافه میکنه

اینطوری دیگه رشته های یکسان کد نهایی یکسانی ندارند و باید از فانکشن مخصوص خودش برای تطبیق استفاده کنی .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : ayoubsys mihan43


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان