sumber source code :
http://social.msdn.microsoft.com/Forums/da-DK/vblanguage/thread/401012c7-91e3-4eee-9e42-e5936a1afe61
http://www.dotnetspider.com/resources/24439-Encryption-Decryption-VB-Net.aspx
http://www.vbforums.com/showthread.php?t=559853
Berikut ini contoh program enkripsi 2 arah.
Private Shared Function Encrypt(ByVal strText As String, ByVal strEncrKey As String) As String
Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
Try
Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Microsoft.VisualBasic.Left(strEncrKey, 8))
Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(strText)
Dim des As New DESCryptoServiceProvider
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, des.CreateEncryptor(bykey, IV), CryptoStreamMode.Write)
cs.Write(InputByteArray, 0, InputByteArray.Length)
cs.FlushFinalBlock()
Return Convert.ToBase64String(ms.ToArray())
Catch ex As Exception
Return ex.Message
End Try
End Function
Private Shared Function Decrypt(ByVal strText As String, ByVal sDecrKey As String) As String
Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
Dim inputByteArray(strText.Length) As Byte
Try
Dim byKey() As Byte = System.Text.Encoding.UTF8.GetBytes(Microsoft.VisualBasic.Left(sDecrKey, 8))
Dim des As New DESCryptoServiceProvider
inputByteArray = Convert.FromBase64String(strText)
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write)
cs.Write(inputByteArray, 0, inputByteArray.Length)
cs.FlushFinalBlock()
Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8
Return encoding.GetString(ms.ToArray())
Catch ex As Exception
Return ex.Message
End Try
End Function
Sedangkan untuk penggunaannya, dapat gunakan cara berikut ini :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox2.Text = Encrypt(TextBox1.Text, "12345678")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox4.Text = Decrypt(TextBox3.Text, "12345678")
End Sub
Selain itu, jangan lupa untuk memasukan file include / imports
Imports System.Security.Cryptography
Imports System.IO
Pada perintah ini memang diharuskan mengisikan kata kunci yang akan membantu dalam proses enkripsi data agar tidak dengan mudah diketehui orang lain. Pengisikan kata kunci ini minimal adalah 8 karakter. Karakter yang digunakan dalam proses encrypt dan decrypt harus sama.
Berikut ini contoh program enkripsi 2 arah yang dibuat dengan menggunakan VB.net 2008