View Full Version : ENCRYPT
viper2009
چهارشنبه 04 شهریور 1388, 18:25 عصر
سلام
کسی کامپوننت یا رفرنسی رو می شناسه که بشه با اون اطلاعات رو از برنامم داخل دیتابیس ENCRYPT کنم و حتی باز خوانی کنم؟
anooshiran
چهارشنبه 04 شهریور 1388, 18:35 عصر
سلام دوست عزيز
براي encrypt كردن نيازي به component نيست . خودت ميتوني براي اين كار يك الگوريتم طراحي كني.
البته به نظز من بهترينالگوريتم براي encrypt كردن آن است كه امكان decrypt كردن ندهد. حتي براي طراح الگوريتم.
حال اگر خودت به الگوريتمي رسيدي كه چه بهتر اگر نه بگو تا بر اساي يك الگوريتم خاص كدهايش را بنويسم
pirmard
چهارشنبه 04 شهریور 1388, 18:54 عصر
البته به نظز من بهترينالگوريتم براي encrypt كردن آن است كه امكان decrypt كردن ندهد. حتي براي طراح الگوريتم.
در اینصورت دیگه به اون انکریپت نمی گن . بلکه مثلا میشه هشینگ ... .
ضمن اینکه اینها در کاربرد اصلا به هم ربطی ندارن . مثلا من می خام پیامی رو برای شما بفرستم و باید اینو انکریپت کنم و شما اونور اونو دیکریپت کنی . خوب حالا به نظر شما اگه غیرقابل بازگشت بود خیلی خوب بود ؟
کلن هشینگ-کدینگ و انکریپت سه مقوله ی جدان .
navid_8x
پنج شنبه 05 شهریور 1388, 03:08 صبح
من خودم در این زمینه اطلاعات ندارم. اما در System.Security.Cryptography کلاس های خوبی وجود داره.
viper2009
سه شنبه 21 مهر 1388, 11:07 صبح
سلام دوباره
امکان داره کدش یا الگوریتم Encrypt کردن ضمیمه کنید که بشه با تغییراتی در ان Encrypt دیگه ساخت که خودتون هم نتونید DeCrypt کنید
و این مشکل رو به VB چطور حل می شه؟
http://barnamenevis.org/forum/showthread.php?t=148057&highlight=Encrypt
saadi2
سه شنبه 21 مهر 1388, 13:04 عصر
برای hash از این کد:
Imports System.Text
Imports System.Security.Cryptography
Public Class SaadiHash
Public Shared Function ComputeHash(ByVal Text As String, ByVal hashAlgorithm As String) As String
Dim plainTextBytes As Byte()
plainTextBytes = Encoding.UTF8.GetBytes(Text)
Dim plainTextWithSaltBytes() As Byte = New Byte(plainTextBytes.Length - 1) {}
Dim I As Integer
For I = 0 To plainTextBytes.Length - 1
plainTextWithSaltBytes(I) = plainTextBytes(I)
Next I
Dim hash As HashAlgorithm
If (hashAlgorithm Is Nothing) Then
hashAlgorithm = ""
End If
Select Case hashAlgorithm.ToUpper()
Case "SHA1"
hash = New SHA1Managed()
Case Else
hash = New MD5CryptoServiceProvider()
End Select
Dim hashBytes As Byte()
hashBytes = hash.ComputeHash(plainTextWithSaltBytes)
Dim hashWithSaltBytes() As Byte = New Byte(hashBytes.Length - 1) {}
For I = 0 To hashBytes.Length - 1
hashWithSaltBytes(I) = hashBytes(I)
Next I
Dim hashValue As String
hashValue = ""
Dim HHE As Integer
For HHE = 0 To UBound(hashBytes)
hashValue &= Hex(hashBytes(HHE))
Next
ComputeHash = hashValue
End Function
Public Shared Function StrToByteArray(ByVal str As String) As Byte()
Dim encoding As New System.Text.ASCIIEncoding()
Return encoding.GetBytes(str)
End Function
End Class
و از کد بالا به این شکل استفاده میشه:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(SaadiHash.ComputeHash("123456789", "SHA1"))
End Sub
saadi2
چهارشنبه 22 مهر 1388, 00:04 صبح
این هم یک سورس عالی برای encrypt _ decrypt
\پیشنهاد میکنم دانلود کنید
viper2009
چهارشنبه 22 مهر 1388, 00:18 صبح
این هم یک سورس عالی برای encrypt _ decrypt
\پیشنهاد میکنم دانلود کنید
خوبه
ولی یک مشکل که وجود داره
وقتی که می خوام در دیتاگرید بیارم چطوری اطلاعات رو DeCrypt کنم؟
یعنی داده های Encrypt شده را Decrypt شده در دیتا گرید نشون بدم؟
saadi2
چهارشنبه 22 مهر 1388, 00:34 صبح
برای جواب به این سوالت باید بگم مشابه این سوال و در تاپیک زیر با یک برنامه که نوشتم پاسخ دادم اون برنامه رو دانلود کن بعد باکمی تفکر مطمئنم به جوابت میرسی اگهام نشد وقت کردم برات مینویسمش.
http://barnamenevis.org/forum/showthread.php?t=182555
viper2009
چهارشنبه 22 مهر 1388, 00:46 صبح
برای جواب به این سوالت باید بگم مشابه این سوال و در تاپیک زیر با یک برنامه که نوشتم پاسخ دادم اون برنامه رو دانلود کن بعد باکمی تفکر مطمئنم به جوابت میرسی اگهام نشد وقت کردم برات مینویسمش.
http://barnamenevis.org/forum/showthread.php?t=182555
مرصی
اول بگذار خودم روش کار کنم بعد اگه نشد که می شه دوباره کمک می گیرم
باشه.
viper2009
چهارشنبه 22 مهر 1388, 15:41 عصر
برای جواب به این سوالت باید بگم مشابه این سوال و در تاپیک زیر با یک برنامه که نوشتم پاسخ دادم اون برنامه رو دانلود کن بعد باکمی تفکر مطمئنم به جوابت میرسی اگهام نشد وقت کردم برات مینویسمش.
http://barnamenevis.org/forum/showthread.php?t=182555
یک مشکل
من DATAGRIDVEIW از قبل دارم و فیلدهاش مشخصه
الان هر کاری می کنم دیتا تیبل بهش وصل نمی شه
از Decrypt هم ایراد می گیره
saadi2
پنج شنبه 23 مهر 1388, 03:05 صبح
بفرمایید دوست عزیز
viper2009
جمعه 24 مهر 1388, 02:14 صبح
بفرمایید دوست عزیز
سلام و مرصی
چرا وقتی از کلاست استفاده می کنم ایراد می گیره که از Me استفاده کن در دستور زیر
For Me.mainloop1 = 1 To insert.Length
For Me.findme1 = finalint To insert.Length
For Me.findme1 = finalint To dec
For Me.findme1 = 0 To dec
ودر دستور دیگر نمی تونم از SQLcommand استفاده کنم بجاش از SQLdataAdapter استفاده کردم
dt = New DataTable
With dt.Columns
.Add("ID")
.Add("Name")
.Add("Last")
End With
If Conn.State = ConnectionState.Closed Then Conn.Open()
da = New SqlDataAdapter("SELECT * FROM BB", Conn)
Dr = da.SelectCommand.ExecuteReader()
If Dr.HasRows Then
While Dr.Read
dt.Rows.Add(Dr("ID"), EnDE.setDecrypt(Dr("Name")), Dr("Last"))
End While
End If
Conn.Close()
DGVForm1.DataSource = dt
البته کار می کنه ها فقط واسه بعده ها مطمئن نیستم
برای سرچ کردن هم از این کد استفاده کردم و DT
With dt
.DefaultView.RowFilter = "Name LIKE '" + txtName.Text + "%' AND Last
LIKE '" + txtLast.Text + "%'"
If .DefaultView.Count = 0 Then
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
End If
DGVForm1.DataSource = .DefaultView
End With
viper2009
جمعه 24 مهر 1388, 03:55 صبح
سلام آقای Saadi2
من تو رفرش کردن دیتا گرید مشکل دارم
وقتی از DataTable استفاده می شه در موقع ذخیره یا ویرایش رکورد در آخر کار سلول اول گرید انتخاب می شه و این باعث سردرگمی کاربر می شه
قبلا بعد از این اعمال اولین سلول سطری که روش عملی انجام می گرفت انتخاب می شد اما حالا این طور نیست.
و یک مشکله دیگه
اینکه من فقط می خوام یک ستون مثلا نام رو Encrypt کنم که این کار شده ولی چون قبلاً این اطلاعات رو وارد کردم بدون Encrypt کردن الان باید دوباره تک تک اونهارو ادیت کنم با Encrypt
حالا سوالم اینه دستوری هست که بشه فقط ستون نامهارو Encrypt کرد یکجا
برای 440 رکورد فعلاً
viper2009
جمعه 24 مهر 1388, 16:49 عصر
آقا مشکلم حل شد با استفاده از Index گیری از دیتا گرید
فقط متاسفانه دیگه نمی تونم اطلاعاتم رو ویرایش کنم راه حل چیه؟:ناراحت:
saadi2
جمعه 24 مهر 1388, 19:10 عصر
http://barnamenevis.org/forum/showpost.php?p=828379&postcount=11
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.