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

نام تاپیک: اینکریپت و دیکریپت

  1. #1

    اینکریپت و دیکریپت

    با سلام
    من میخواستم اطلاعاتی در مورد این دو تا موضوع بدست آورم میدانم که برای پسورد گذاری استفاده میشود اما نمدانم چطور و چگونه جستجو کردم در سایت چیزی دستگیرم نشد ممنون میشوم راهنمائی فرمائید
    با تشکر

  2. #2
    کاربر دائمی آواتار ir_programmer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    خوزستان، استاني كه سرمايه اش در خدمت استانهاي ديگر است.
    پست
    420
    دوست عزیز من در این پست یک راه حل با مثال گذاشتم.
    کاملا هم جواب میده.
    https://barnamenevis.org/showthread.php?t=84283

  3. #3
    کاربر دائمی آواتار amirsajjadi
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خراسان رضوی - سبزوار
    سن
    37
    پست
    871
    اگه میخواین توی حافظه ی اصلی (ram) پسورد رو ذخیره کنید یا بهتر بگم اگه میخواین توی یک متغیر ذخیره کنید اون متغیر رو از نوع SecurString تعریف کنید به این صورت :

    طریقه ی تعریف متغیر

    Dim Pass As New Security.SecureString

    زیر برنامه خواندن از متغیر محافظت شده
    Private Function ReadFromSecurityString (ByVal ss As Security.SecureString) As String
    If ss.Length > 0 Then
    Dim b As IntPtr = System.Runtime.InteropServices.Marshal.SecureStrin gToGlobalAllocUnicode(ss)
    Return System.Runtime.InteropServices.Marshal.PtrToString Uni(b)
    Else
    Return""
    End If
    End Function

    زیر برنامه نوشتن در متغیر محافظت شده
    Private Sub SetToSecurityString(ByVal strg AsString, ByRef ss As Security.SecureString)
    ss.Clear()
    If strg <> "" Then
    For Each c As Char In strg
    ss.AppendChar(c)
    Next
    Else
    ss.AppendChar("")
    End If
    End Sub

    ولی اگه میخواین توی فایل ذخیره کنید ، این برنامه کمکتون میکنه :

    ابتدا باید کلید انکریپت رو تعریف کنید ، بع این صورت (اعداد آرایه را به سلیقه ی خودتان میتونید تغییر بدید) :
    Dim KEY() AsByte = NewByte() {19, 115, 1, 215, 157, 203, 160, 35, 185, 199, 120, 103, 155, 1, 80, 93, 22, 17, 105, 119, 55, 81, 215, 29, 240, 230, 147, 16, 12, 15, 36, 150}
    Dim IV() AsByte = NewByte() {174, 130, 120, 100, 80, 206, 99, 109, 153, 0, 101, 8, 70, 130, 106, 251}

    زیر برنامه انکریپت کردن داده ها و ذخیره ی اونها توی فایل
    Public Sub Encrypt_Data(ByVal address_file As String, ByVal info As String)
    Try
    If address_file <> ""Then
    Dim fStream As IO.FileStream = IO.File.Open(address_file, IO.FileMode.Create)
    Dim RijndaelAlg As System.Security.Cryptography.Rijndael = System.Security.Cryptography.Rijndael.Create
    Dim cStream As New System.Security.Cryptography.CryptoStream(fStream, _
    RijndaelAlg.CreateEncryptor(KEY, IV), _
    System.Security.Cryptography.CryptoStreamMode.Writ e)
    Dim sWriter As New IO.StreamWriter(cStream)
    sWriter.WriteLine(info)
    sWriter.Close()
    cStream.Close()
    fStream.Close()
    End If
    Catch ex As Exception
    End Try
    End Sub

    زیر برنامه خوندن از فایل انکریپت شده (دیکریپت کردن اطلاعات)
    Public Function Decrypt_Data(ByVal address_file As String) As String
    Try
    If address_file <> "" AndAlso FileIO.FileSystem.FileExists(address_file) = TrueThen
    Dim fStream As IO.FileStream = IO.File.Open(address_file, IO.FileMode.Open)
    Dim RijndaelAlg As System.Security.Cryptography.Rijndael = System.Security.Cryptography.Rijndael.Create
    Dim cStream AsNew System.Security.Cryptography.CryptoStream(fStream, _
    RijndaelAlg.CreateDecryptor(KEY, IV), _
    System.Security.Cryptography.CryptoStreamMode.Read )
    Dim sReader As New IO.StreamReader(cStream)
    Dim plainText As String = sReader.ReadToEnd
    sReader.Close()
    cStream.Close()
    fStream.Close()
    Return plainText
    Else
    Return""
    End If
    Catch ex As Exception
    Return""
    End Try
    End Function

  4. #4
    کاربر دائمی آواتار amirsajjadi
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خراسان رضوی - سبزوار
    سن
    37
    پست
    871
    این هم یک برنامه ی دیگه
    برای انکریپت کردن
    Public Function Crypt_Password(ByVal pass AsString) As String
    Dim arr(pass.Length) As String
    Dim l, h As Integer
    Dim rnds As New Random
    Randomize()
    l = rnds.Next(1, 254)
    h = (l + pass.Length - 1)
    For i As Integer = l To h
    arr(i - l) = Asc(pass(i - l)) Xor i
    Next
    arr(UBound(arr)) = l
    Return Join(arr, ";")
    End Function

    برای دیکریپت کردن
    Public Function Decrypt_CPassword(ByVal Cpass As String) As String
    Dim arr() As String = Split(Cpass, ";")
    Dim d(UBound(arr) - 1) As String
    For i As Integer = Val(arr(UBound(arr))) To Val(arr(UBound(arr))) + UBound(arr) - 1
    d(i - Val(arr(UBound(arr)))) = Chr(arr(i - Val(arr(UBound(arr)))) Xor i)
    Next
    Return Join(d, "")
    End Function

    لطفا نظر خودتون رو در مورد این برنامه بگید

  5. #5
    کاربر دائمی آواتار ir_programmer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    خوزستان، استاني كه سرمايه اش در خدمت استانهاي ديگر است.
    پست
    420
    روشی که من معرفی کردم استاندارد است.
    روش دوستمون هم جالبه و استاندارد نیست.

  6. #6
    کاربر دائمی آواتار amirsajjadi
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خراسان رضوی - سبزوار
    سن
    37
    پست
    871
    نقل قول نوشته شده توسط ir_programmer مشاهده تاپیک
    روشی که من معرفی کردم استاندارد است.
    روش دوستمون هم جالبه و استاندارد نیست.
    روش دوم منظورتون اون پست آخری منه اگه اونه که درسته استاندارد نیست ولی خودتون میدونید که روش های استاندارد امنیت کمتری داره ! چون هکرها روش های استاندارد رو هک میکن نه روش های غیر استاندارد رو
    حالا خودمونیما روش آخری من هم زیاد غیر استاندارد نیست تویه تمام حالات جواب میده

  7. #7
    با سلام . روشای جالبه . کاش دوستان بیشتر در مورد روش های جدید مثل دوستمون امیر خان صحبت میکردن . روش های جدید هم یادگیری رو بالا میبره و طرف میفهمه اصل داستان چیه و هم یه الگوریتم خاص نداره که هکر ها با در اوردن ساختارش بزنن تو حال برنامه نویس

  8. #8

    #

    با سلام و تشکر از دوستان گرامی من در این مورد تازه کارم (پسورد گذاری ) من میخواهم روی فرمم یک username , password را میگذارم که کاربر ابتدا آن username, password را برای خودش تعریف کند و بعد در هنگام ورود با آن login کند حال این کدها را در کجا باید استفاده کرد





















    3

  9. #9
    کاربر دائمی آواتار ir_programmer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    خوزستان، استاني كه سرمايه اش در خدمت استانهاي ديگر است.
    پست
    420
    فکر نکنم کسی بتونه از سد Hash بگذره ها!

  10. #10

    #

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

  11. #11
    نقل قول نوشته شده توسط mehdiDER_5 مشاهده تاپیک
    با سلام
    منظورتان را نتوجه نشدم من میخواهم یک فرم اولیه طراحی کنم که در آن افراد بتوانند user , pass برای خود تعریف کنند و این user , pass به صورت رمز شده در بانک قرار گیرد طوری که کسی که بانک را باز کرد نتواند متوجه آن شود بعد افراد با آن user , pass به برنامه وارد شوند
    حال اگر میشود بگویید این دستورات را در کجای برنامه استفاده کنم
    منظور دوستمون شما نبودید
    به طور کلی:
    برای اینکار میتونی یک کلاس یا یک فرم طراحی کنی و قبل از اینکه برنامت لود بشه این کلاس یا فرم را فراخوانی کنی و در این فرم یا کلاس رمز عبور و نام کاربری را گرفته و
    مقدار ورودی را که کاربر وارد کرده را با اطلاعات داخل بانک مقایسه کن اگه این اطلاعات با اطلاعات داخل بانک همخوانی داشت که فرم اصلی برنامه را فعال میکنی به غیر اینصورت نه!!!
    اگه اطلاعات بیشتر میخواهی جستجو کن چون این مورد نیاز به مطالعه بیشتری داره

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

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