PDA

View Full Version : امنیت هش کردن



reza97
پنج شنبه 10 اسفند 1391, 20:00 عصر
سلام دوستان
تقریبا به دویبک میتونم هش کنم یکی
string hash;

hash = System.Web.Security.FormsAuthentication.HashPasswo rdForStoringInConfigFile(TextBox1.Text,"MD5");

Label1.Text = hash.ToString();

یکی هم
txtregpas.Text.GetHashCode().ToString()

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

اولا کدوم روش بهتره؟
در ضمن آیا نوشتن با کلاس در امنیت تاثیر داره؟یا استور پروسیجر چی؟
و سوال آخرم اینه اگر ما پسورد رو هش کنیم در اینسرت کردن از پارامتر و استور پروسیجر وکلاس استفاده کنیم تا چه حد هک کردن سایت ما پایین میاد(حدودا چند درصد)
ممنون

morteza_mokhtari
پنج شنبه 10 اسفند 1391, 21:42 عصر
سلام دوست عزیز اولا اینکه هش قابل بازگشت نیست اگه هم قابل بازگشت باشه به کامپیوتر های بزرگی نیاز داره که بتونند میلیاردها یا بیشتر عملیات انجام بدهند البته md5 دیگه امن نیست بنده خودم نرمافزارش رو دارم که md5 رو به عبارت اول بازگردونه.البته با نرم افزار هم به راحتی قابل بازگشت نیست یکی یکی تست میکنه ببینه کدوم به عبارت هش مساوی هست که خیلی وقت گیر هستش و کاربردی نیست. شما برای هش کردن بهتر از Sha256 یا Sha513 استفاده کنید.هکرها هم عبارت هش شده رو به حالت اول بازیابی نمیکنند بلکه آنها یک جدول با تعداد زیادی رکورد که شامل رمز های عبور به همراه هش اون هست دارند که عبارت هش شما رو با هش های تویه جدول خودشتون مقایسه میکنند که بتونند از اون طریق رمز اصلی رو بدست بیارند در مورد GetHashCode هم نمیدونم الگوریتم هش کردنش چطوریه.به نظر من شما به خیال راحت میتونید از هر دویه مواردی که گفتید استفاده کنید نوشتن کلاس هم فکر نکنم به امنیت ارتباطی داشته باشه و در مورد استور پروسیجر و پارامتر هم برای جلوگیری از حملات Sql Injection میتونه مفید باشه و جلوی این گونه حملات رو بگیره البته نمیدونم به صورت صد در صد جلوگیری میکنه یا نه.موفق باشید