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

نام تاپیک: +سئوال:: هش MD5 در VB.NET

  1. #1

    +سئوال:: هش MD5 در VB.NET

    با سلام و خسته نباشید...

    کاراکتر "1" وارد شده
    خروجی هر بار

    1B2M2Y8AsgTpgAmY7PhCfg==
    2iu9I2HkRim3Dk3gBSXrow==
    EfAyW18tUFDUZEO4PGLL8w==
    LxmRa3JrT5O9ZLYm5gsqtQ==



    Imports System
    Imports System.Security.Cryptography
    Imports System.Text
    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim m As MD5 = MD5.Create()

    Dim hash As Byte() = m.ComputeHash(Encoding.Default.GetBytes(TextBox1.T ext))
    TextBox1.Text = (Convert.ToBase64String(hash))
    End Sub

    End Class



    نظری در موردش دارید بفرمایید ؟؟؟

  2. #2

    نقل قول: +سئوال:: هش MD5 در VB.NET

    قسمت جالبش اینجاست که اگه شما یه فایل متنی رو تبدیل کنید 24 کاراکتر میده و اگه 1 کاراکتر رو هم تبدیل کنید بازم 24 کاراکتر بهت میده.

    عجبا

  3. #3

    نقل قول: +سئوال:: هش MD5 در VB.NET

    نقل قول نوشته شده توسط mrg_vb مشاهده تاپیک
    قسمت جالبش اینجاست که اگه شما یه فایل متنی رو تبدیل کنید 24 کاراکتر میده و اگه 1 کاراکتر رو هم تبدیل کنید بازم 24 کاراکتر بهت میده.

    عجبا
    Hash ئه MD5 همیشه 128 بیتی (16 بایتی) است، Base 64 هم هر 3 بایت رو در 4 کاراکتر کدی می کنه و همیشه طول اش مضربی از 4 ئه و اگر
    کاراکتر کم بیاره با = تکمیل می کنه. اون 16 بایت رو در 22 کاراکتر کدی می کنه اما چون طول اش باید مضربی از 4 باشه دو کاراکتر = هم به طولش اضافه میشه.

  4. #4

    نقل قول: +سئوال:: هش MD5 در VB.NET

    حالا یه سئوال کوچیک من این رو برای رمز کردن پسورد حساب کاربری مورد نظر می خوام.

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

    یا راه دیگه ای وجود داره ؟؟


    راستی یه چیز دیگه این رمز نگار ها هم عجب جونورهایی که نیستن ؟؟

    موفق باشید.*

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    م.هد
    پست
    191

    نقل قول: +سئوال:: هش MD5 در VB.NET

    سلام
    اگر پسورد به صورت MD5 درمیاد اونو نمی شه برگردوند ولی hash رو میشه .
    برای MD5 باید پسورد قبلا به صورت م دی 5 در دیتابیس یا... وجود داشته باشه و پسورد دادشده با او یکی باشه.

    هکر ها هم معمولا از سایتا یا دیتابیس های استفاده می کنند که میلیاردها پسورد MD5 دارند برای کرک کردن پسوردی که به دست آوردند.!

  6. #6
    کاربر دائمی آواتار alimanam
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    لندن
    سن
    38
    پست
    1,556

    نقل قول: +سئوال:: هش MD5 در VB.NET

    با سلام

    اگر پسورد به صورت MD5 درمیاد اونو نمی شه برگردوند ولی hash رو میشه .
    لطفاً منبع رو ذکر کنین ! تا جایی که میدونم Hash رو نمیشه مهندسی معکوس کرد و عملیات برگشت پذیر نیست . البته این که میگم برگشت پذیر نیست این نیست هیچوقت نمیشه ! اما عمومیت نداره یعنی اینکه این الگوریتم ها جوری طراحی و پیاده سازی میشن که به صورت معمول به هیچ عنوان نمیشه رشته کد شده , رو به به حالت ابتدایی خودش برگردوند ! مگر استفاده از روش هایی که این روش ها دست دولتی هاست نه افراد عادی !

    موفق باشید./

  7. #7

    نقل قول: +سئوال:: هش MD5 در VB.NET

    لطفاً منبع رو ذکر کنین ! تا جایی که میدونم Hash رو نمیشه مهندسی معکوس کرد و عملیات برگشت پذیر نیست . البته این که میگم برگشت پذیر نیست این نیست هیچوقت نمیشه ! اما عمومیت نداره یعنی اینکه این الگوریتم ها جوری طراحی و پیاده سازی میشن که به صورت معمول به هیچ عنوان نمیشه رشته کد شده , رو به به حالت ابتدایی خودش برگردوند ! مگر استفاده از روش هایی که این روش ها دست دولتی هاست نه افراد عادی !
    بر طبق نظرات و معلومات بنده.
    اولا این الگوریتم بازگشت ناپذیر .
    دوما این الگوریتم هر باری کدی که تولید میکنه و دفعه قبلش فرق میکنه و من شنیدم احتمال اینکه یه بار یه کاراکتر رو به یک صورت به کد تبدیل کنه خیلی کمه

    حالا با فرض این دو تا که اگه درست باش:
    چطور میشه که برابر بودن دو رمز تبدیل شده رو میفهمه یعنی رمزی که در بانک ذخیره شده با اون کاراکترهایی که کاربر وارد میکنه بعد تبدیل به کد میکنه این کد با اون کدی که در بانک ذخیره شده فرق میکنه که ؟؟؟؟؟؟؟

  8. #8
    کاربر دائمی آواتار alimanam
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    لندن
    سن
    38
    پست
    1,556

    نقل قول: +سئوال:: هش MD5 در VB.NET

    با سلامی دوباره !

    چطور میشه که برابر بودن دو رمز تبدیل شده رو میفهمه یعنی رمزی که در بانک ذخیره شده با اون کاراکترهایی که کاربر وارد میکنه بعد تبدیل به کد میکنه این کد با اون کدی که در بانک ذخیره شده فرق میکنه که ؟؟؟؟؟؟؟
    لطفاً فکر دیتابیس رو از سرتون بیارین بیرون !!!!!!!!! الگوریتم MD5 یک نوع " هش " هستش و ربطی به دیتابیس نداره , درضمن برای اعتبارسنجی میان رشته مورد نظر رو در ابتدا هش میکنن و بعد با مقدار متناظر اون رشته که از قبل هش شده , مقایسه میکنن .

    موفق باشید./

  9. #9

    نقل قول: +سئوال:: هش MD5 در VB.NET

    و بعد با مقدار متناظر اون رشته که از قبل هش شده , مقایسه میکنن .
    مقدار متناظر اون رشته که از قبل هش ده رو کجا می خوای قرار بدی ؟
    من که گذاشتمش توی دیتابیس !

    ر ابتدا هش میکنن و بعد با مقدار متناظر اون رشته که از قبل هش شده , مقایسه میکنن .
    بر اساس این جمله بنده :این الگوریتم هر باری کدی که تولید میکنه با دفعه قبلش فرق میکنه و من شنیدم احتمال اینکه یه بار یه کاراکتر رو به یک صورت به کد تبدیل کنه خیلی خیلی خیلی کمه

    چطور مقایسه رو انجام میده ؟

    با تشکر.*

  10. #10
    کاربر دائمی آواتار alimanam
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    لندن
    سن
    38
    پست
    1,556

    نقل قول: +سئوال:: هش MD5 در VB.NET

    با سلامی 3 باره !

    دوست عزیز منظور بنده از بیخیال شدن دیتابیس ! در مورد خود الگوریتم بود یعنی اینکه این الگوریتم برای پیاده سازی اعتبارسنجی خودش کاری به دیتابیس شما نداره ! نه اینکه ما مقدار هش شده رو درکجا میخوایم ذخیره کنیم !

    و اما برای اعتبارسنجی رشته ایی که بوسیله MD5 هش شده به راحتی میتونی از تابع زیر استفاده کنی :


    Private Function CompareTwoBytes(ByVal tmphash As Byte(), ByVal tmpnewhash As Byte()) As Boolean
    Dim bEqual As Boolean = False
    If tmpnewhash.Length = tmphash.Length Then
    Dim i As Integer
    Do While (i < tmpnewhash.Length) AndAlso (tmpnewhash(i) = tmphash(i))
    i += 1
    Loop
    If i = tmpnewhash.Length Then
    bEqual = True
    End If
    End If
    Return bEqual
    End Function


    موفق باشید./

  11. #11

    نقل قول: +سئوال:: هش MD5 در VB.NET

    نقل قول نوشته شده توسط mrg_vb مشاهده تاپیک
    بر طبق نظرات و معلومات بنده.
    اولا این الگوریتم بازگشت ناپذیر .
    دوما این الگوریتم هر باری کدی که تولید میکنه و دفعه قبلش فرق میکنه و من شنیدم احتمال اینکه یه بار یه کاراکتر رو به یک صورت به کد تبدیل کنه خیلی کمه

    حالا با فرض این دو تا که اگه درست باش:
    چطور میشه که برابر بودن دو رمز تبدیل شده رو میفهمه یعنی رمزی که در بانک ذخیره شده با اون کاراکترهایی که کاربر وارد میکنه بعد تبدیل به کد میکنه این کد با اون کدی که در بانک ذخیره شده فرق میکنه که ؟؟؟؟؟؟؟
    نقل قول نوشته شده توسط alimanam مشاهده تاپیک
    با سلام

    لطفاً منبع رو ذکر کنین ! تا جایی که میدونم Hash رو نمیشه مهندسی معکوس کرد و عملیات برگشت پذیر نیست . البته این که میگم برگشت پذیر نیست این نیست هیچوقت نمیشه ! اما عمومیت نداره یعنی اینکه این الگوریتم ها جوری طراحی و پیاده سازی میشن که به صورت معمول به هیچ عنوان نمیشه رشته کد شده , رو به به حالت ابتدایی خودش برگردوند ! مگر استفاده از روش هایی که این روش ها دست دولتی هاست نه افراد عادی !

    موفق باشید./
    اینکه بخواهید رمز های مختلف رو امتحان کنید تا به رمزی برسید که Hash شده اش با اون Hash مورد نظر مطابقت داشته باشه (Brute force) یک بحث
    دیگه است که همیشه و در مورد همه Hash ها عملی است اما اونقدر زمان می بره که کلا به عنوان نقطه ضعف رویش حساب نمی کنند.
    اما اولا Hash ای مثل MD5 کاری به زمان نداره و همیشه برای ورودی خاص باید خروجی مشخص و همیشه یکسان داشته باشه وگرنه اگر قرار بود
    که هر بار برای اون داده ورودی ثابت یک خروجی جدید ایجاد کنه که دیگه میشه خروجی تصادفی و بدرد چک کردن صحت ورودی نمی خوره.

    ثانیا از نظر عملی محاله که بشه از یک Hash با طول ثابت (مثلا MD5 طولش 16 بایتی است) به هر داده ورودی با طول بیشتر از اون رسید.
    اینکه میگم محاله نظر من یا نتیجه تحقیقات تجربی و ... نیست، از نظر علم ریاضی غیر ممکنه، چون اگر ممکن بود فرضا همین MD5 قوی ترین
    تکنیک فشرده سازی دنیا بود که می توانست 1000000000 ترابایت داده رو در 16 بایت فشرده کنه و بعد شما از اون 16 بایت به
    اون 1000000000 تربایت داده اولیه برسید، چنین چیزی ممکنه؟ معلومه که ممکن نیست چون نمیشه که برای اون همه حالت های مختلف
    داده ورودی یک Hash یکتا رو فقط در 16 بایت بوجود آورد. تعداد حالت هایی که با 16 بایت میشه بوجود آورد قابل مقایسه با تعداد حالت های
    یک داده 17 بایتی هم نیست چه برسه به 1000000000 ترابایتی.

  12. #12

    نقل قول: +سئوال:: هش MD5 در VB.NET

    مگر استفاده از روش هایی که این روش ها دست دولتی هاست نه افراد عادی
    عجب دولتی های قدرتمندی!!!
    پس اینا که این همه قدرت دارم اگه از یه فایل یک گیگی ، MD5 بگیرم می تونن برش گردونن دیگه؟
    نگید نه که ناراحت می شن!

    اما اولا Hash ای مثل MD5 کاری به زمان نداره و همیشه برای ورودی خاص باید خروجی مشخص و همیشه یکسان داشته باشه
    منم موافقم

  13. #13
    کاربر دائمی آواتار alimanam
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    لندن
    سن
    38
    پست
    1,556

    نقل قول: +سئوال:: هش MD5 در VB.NET

    با سلام

    عجب دولتی های قدرتمندی!!!

    ظاهراً شک داری که هر الگوریتم شناخته شده ایی یه حفره به اندازه توپ فوتبال توش هست اما کسایی که میتونین این توپ من نداشتم بابام بهم ... !!! داد رو ببینن باید خیلی با حال تر از منو شما باشن ! آخه وقتی به راحتی آب خوردن گواهینامه های دیجیتال رو کپی برداری میکنن شما داری با من از چه چیزی صحبت میکنی ؟؟؟!!!! هش و رمزنگاری واسه من و شما و خیلی خیلی های دیگه غیرقابل نفوذه نه واسه صاحبان قدرت و پول .

    پس اینا که این همه قدرت دارم اگه از یه فایل یک گیگی ، MD5 بگیرم می تونن برش گردونن دیگه؟
    ببین عزیزم , من زیاد ذهنمو درگیر این موضوع نمیکنم که بتونن یا نتونن ! قسمت مهمشو تو خط بالا خدمتتون عرض کردم .

    منم موافقم
    من که شدیداً موافقم .

    موفق باشید ./

  14. #14
    کاربر دائمی آواتار h_a_m_i_d
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    dim home as new machincode
    پست
    638

    نقل قول: +سئوال:: هش MD5 در VB.NET

    دوستان عزیز روش هش کردن روشی نیست که اگر یک گیگ رو بهش بدین یک کد 24 کاراکتری مثلا بهتون بده
    بلکه این اعداد تکرار میشوند مثلا به شما یک برنامه بدن که با اون میتونین فقط خروجی 1 و 2(عدد تولید شده دو رقمی باشد) را داشته باشید
    حالا اگر 4 تا عدد 1 و 2 و3 و4و5و6و7و8 رو بهش بدیم نتیجه ها تکرار میشوند
    1=11
    2=22
    3=12
    4=21
    5=11
    6=22
    7=12
    8=21
    خوب حالا دلیل این که ما این دیدگاه برامون پیش میاد اینه که این پارامتر (که به تازگی چند شرکت در روس توانسته اند ان را دوباره برگردانند) برای ما برگشت ناپذیره و چون نمیتونیم نتیجه های برگشت خورده رو ببینیم این دیدگاه برامون پیش میاد
    مگرنه اگر اینطور بود برنامه های مثل winrar برشکست میشدند چون یک نفر یک گیگ اطلاعات رو تبدیل میکرد به حداکثر 100 کاراکتر و این یعنی تبدیل یک گیگ به یک کیلوبایت که در علم کامپیوتر این حرف یک حرف بی ارزش حساب میشود
    دوستان در مورد هر چیز باید فکر کرد
    موفق باشید

تاپیک های مشابه

  1. سئوال : شروع و استارت asp.net
    نوشته شده توسط ehssannet در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: جمعه 18 اردیبهشت 1388, 15:22 عصر
  2. سئوال در مورد نحوه ارتباط برنامه های asp.net با بانک اطلاعا
    نوشته شده توسط jahani1148 در بخش برنامه نویسی در Delphi Prism
    پاسخ: 6
    آخرین پست: یک شنبه 19 خرداد 1387, 12:03 عصر
  3. چه جوری می تونم از MD5 در VB.net استفاده کنم ؟
    نوشته شده توسط oracle_2007 در بخش VB.NET
    پاسخ: 8
    آخرین پست: شنبه 17 تیر 1385, 13:14 عصر
  4. سئوال در مورد sql2005و.net 2003
    نوشته شده توسط ali_t264 در بخش VB.NET
    پاسخ: 0
    آخرین پست: دوشنبه 12 تیر 1385, 06:29 صبح
  5. دوتا سئوال vb.net
    نوشته شده توسط hmm در بخش VB.NET
    پاسخ: 11
    آخرین پست: سه شنبه 20 آبان 1382, 06:46 صبح

برچسب های این تاپیک

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

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