Membuat Aplikasi Enkripsi Dan Dekripsi Di Vb.Net

Membuat Aplikasi Enkripsi Dan Dekripsi Di Vb.Net

Membuat Aplikasi Enkripsi dan Dekripsi teks di VB.Net – selamat malam sahabat blogger semuanya, kembali lagi bersama saya guzko di blog yang sederhana ini. Semoga kunjungan para sahabat blogger semuanya disini, mampu menunjukkan sahabat wangsit serta manfaat dari blog ini.


Seperti judul saya diatas ialah tentang Membuat Aplikasi Enkripsi dan Dekripsi teks di VB.Net, kali ini saya akan membagikan tutorial kepada sahabat semua ialah untuk melakukan enkripsi dan dekripsi teks sederhana. Sebelum kita melangkah ke pembuatan aplikasi, mungkin ada baiknya kita berkenalan dulu, apa sih itu enkripsi ? dan apa itu dekripsi ?


(Baca Juga : Tutorial Enkripsi dan Dekripsi File dengan Rijndael)


Apa itu Enkripsi ?


DÍ bidang kriptografi, enkripsi yakni proses mengamankan suatu informasi dengan membuat informasi tersebut tidak mampu dibaca tanpa sumbangan pengetahuan khusus. Dikarenakan enkripsi telah dipakai untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun 1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat distributor pemerintah Amerika Serikat pada domain publik, dan dikala ini enkripsi telah dipakai pada sistem secara luas, ibarat Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank.


Enkripsi mampu dipakai untuk tujuan keamanan, tetapi teknik lain masih diharapkan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan yang lain ialah untuk melindungi dari analisis jaringan komputer.


sumber: https://id.wikipedia.org/wiki/Enkripsi


Apa itu Dekripsi


Deskripsi yakni satu kaedah upaya pengolahan data menjadi sesuatu yang mampu diutarakan secara terperinci dan tepat dengan tujuan semoga mampu dimengerti oleh orang yang tidak langsung mengalaminya sendiri.


Dalam keilmuan, deskripsi diharapkan semoga peneliti tidak melupakan pengalamannya dan semoga pengalaman tersebut mampu dibandingkan dengan pengalaman peneliti lain, sehingga simpel untuk dilakukan pemeriksaan dan kontrol terhadap deskripsi tersebut. Pada umumnya deskripsi menegaskan sesuatu, ibarat apa sesuatu itu kelihatannya, bagaimana bunyinya, bagaimana rasanya, dan sebagainya. Deskripsi yang detail diciptakan dan dipakai dalam disiplin ilmu sebagai istilah teknik.


Saat data yang dikumpulkan, deskripsi, analisis dan kesimpulannya lebih disajikan dalam angka-angka maka hal ini dinamakan penelitian kuantitatif. Sebaliknya, apabila data, deskripsi, dan analisis kesimpulannya disajikan dalam uraian kata-kata maka dinamakan penelitian kualitatif.


gesekan pena deskripsi yakni gesekan pena yang bertujuan untuk menjelaskan sebuag objek secara terperinci tanpa adanya efek pendapat pendapat pengarang di dalam deskripsi tsb (andy the gunnerz)


sumber: https://id.wikipedia.org/wiki/Deskripsi


oke sesudah sahabat blogger berkenalan dengan apa itu enkripsi dan dekripsi dalam dunia IT., sekarang waktunya kita coba untuk membuat aplikasinya. Aplikasi ini gres bersifat sederhan malah sangat sederhana sekali. Siapa tau nanti sahabat blogger dengan melihat aplikasi ini mampu menerima wangsit untuk membuat aplikasi yang lebih canggih lagi. Oke langsung saja langkah-langkahnya ibarat dibawah ini :


1. Buka Visual Studio
buka visual studio sahabat blogger dan buat sebuah project baru, serta design project ibarat gambar dibawah ini :


Membuat Aplikasi Enkripsi Dan Dekripsi Di Vb.Net

2. Buat Class
sekarang waktunya kita masuk kedalam tahap coding. Ini yakni inti dari aplikasi yang akan kita buat. Untuk membuat class gres di vb.net, lihat gambar dibawah ini :


Membuat Aplikasi Enkripsi Dan Dekripsi Di Vb.Net

disini kita akan membuat beberapa class untuk proses enkripsi dan dekripsinya. Kita buat satu class, satu proses ibarat berikut :


class TripleDES


Imports System Imports System.Text Imports System.IO Imports System.Security.Cryptography  Public Class TripleDES      Private bPassword As Byte()     Private sPassword As String      Public Sub New(Optional ByVal Password As String = "password")         ' On Class Begin         Me.Password = Password     End Sub      Public ReadOnly Property PasswordHash As String         Get             Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding             Return UTF8.GetString(bPassword)         End Get     End Property      Public Property Password() As String         Get             Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding             Return sPassword         End Get         Set(ByVal value As String)             Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding             Dim HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             bPassword = HashProvider.ComputeHash(UTF8.GetBytes(value))             sPassword = value         End Set     End Property  #Region "Encrypt"      ' Encrypt using Password from Property Set (pre-hashed)     Public Function Encrypt(ByVal Message As String) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = bPassword             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                 Dim DataToEncrypt() As Byte = UTF8.GetBytes(Message)                 Try                     Dim Encryptor As ICryptoTransform = TDESAlgorithm.CreateEncryptor                     Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length)                 Finally                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using         Return Convert.ToBase64String(Results)     End Function      ' Encrypt using Password as byte array     Private Function Encrypt(ByVal Message As String, ByVal Password() As Byte) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = HashProvider.ComputeHash(UTF8.GetBytes(UTF8.GetString(Password)))             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                 Dim DataToEncrypt() As Byte = UTF8.GetBytes(Message)                 Try                     Dim Encryptor As ICryptoTransform = TDESAlgorithm.CreateEncryptor                     Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length)                 Finally                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using         Return Convert.ToBase64String(Results)     End Function      ' Encrypt using Password as string     Public Function Encrypt(ByVal Message As String, ByVal Password As String) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding         ' Step 1. We hash the Passphrase using MD5         ' We use the MD5 hash generator as the result is a 128 bit byte array         ' which is a valid length for the TripleDES encoder we use below         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = HashProvider.ComputeHash(UTF8.GetBytes(Password))              ' Step 2. Create a new TripleDESCryptoServiceProvider object              ' Step 3. Setup the encoder             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                 ' Step 4. Convert the input string to a byte[]                  Dim DataToEncrypt() As Byte = UTF8.GetBytes(Message)                  ' Step 5. Attempt to encrypt the string                 Try                     Dim Encryptor As ICryptoTransform = TDESAlgorithm.CreateEncryptor                     Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length)                 Finally                     ' Clear the TripleDes and Hashprovider services of any sensitive information                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using          ' Step 6. Return the encrypted string as a base64 encoded string         Return Convert.ToBase64String(Results)     End Function #End Region  #Region "Decrypt"     ' Decrypt using Password from Property (pre-hashed)     Public Function Decrypt(ByVal Message As String) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = Me.bPassword             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                 Dim DataToDecrypt() As Byte = Convert.FromBase64String(Message)                 Try                     Dim Decryptor As ICryptoTransform = TDESAlgorithm.CreateDecryptor                     Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length)                 Finally                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using         Return UTF8.GetString(Results)     End Function      ' Decrypt using Password as Byte array     Public Function Decrypt(ByVal Message As String, ByVal Password() As Byte) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = HashProvider.ComputeHash(UTF8.GetBytes(UTF8.GetString(Password)))             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                 Dim DataToDecrypt() As Byte = Convert.FromBase64String(Message)                 Try                     Dim Decryptor As ICryptoTransform = TDESAlgorithm.CreateDecryptor                     Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length)                 Finally                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using         Return UTF8.GetString(Results)     End Function       ' Decrypt using Password as string     Public Function Decrypt(ByVal Message As String, ByVal Password As String) As String         Dim Results() As Byte         Dim UTF8 As System.Text.UTF8Encoding = New System.Text.UTF8Encoding          ' Step 1. We hash the Pass phrase using MD5         ' We use the MD5 hash generator as the result is a 128 bit byte array         ' which is a valid length for the TripleDES encoder we use below         Using HashProvider As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()             Dim TDESKey() As Byte = HashProvider.ComputeHash(UTF8.GetBytes(Password))              ' Step 2. Create a new TripleDESCryptoServiceProvider object             ' Step 3. Setup the decoder             Using TDESAlgorithm As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider() With {.Key = TDESKey, .Mode = CipherMode.ECB, .Padding = PaddingMode.PKCS7}                  ' Step 4. Convert the input string to a byte[]                 Dim DataToDecrypt() As Byte = Convert.FromBase64String(Message)                 ' Step 5. Attempt to decrypt the string                 Try                     Dim Decryptor As ICryptoTransform = TDESAlgorithm.CreateDecryptor                     Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length)                 Finally                      ' Clear the TripleDes and Hash provider services of any sensitive information                     TDESAlgorithm.Clear()                     HashProvider.Clear()                 End Try             End Using         End Using          ' Step 6. Return the decrypted string in UTF8 format         Return UTF8.GetString(Results)     End Function  #End Region  End Class 

class md5


Imports System.Security.Cryptography Imports System.Text Namespace DataHash      Public Class md5ku         Private EncStringBytes() As Byte         Private Encoder As New UTF8Encoding         Private MD5Hasher As New MD5CryptoServiceProvider          Public Function Encrypt(ByVal EncString As String) As String             'Variable Declarations             Dim RanGen As New Random             Dim RanString As String = ""             Dim MD5String As String             Dim RanSaltLoc As String              'Generates a Random number of under 4 digits             While RanString.Length <= 3                 RanString = RanString & RanGen.Next(0, 9)             End While              'Converts the String to bytes             EncStringBytes = Encoder.GetBytes(EncString & RanString)              'Generates the MD5 Byte Array             EncStringBytes = MD5Hasher.ComputeHash(EncStringBytes)              'Affixing Salt information into the MD5 hash             MD5String = BitConverter.ToString(EncStringBytes)             MD5String = MD5String.Replace("-", Nothing)              'Finds a random location in the string to sit the salt             RanSaltLoc = RanGen.Next(4, MD5String.Length)              'Shoves the salt in the location             MD5String = MD5String.Insert(RanSaltLoc, RanString)              'Adds 0 for values under 10 so we always occupy 2 charater spaces             If RanSaltLoc < 10 Then                 RanSaltLoc = "0" & RanSaltLoc             End If              'Shoves the salt location in the string at position 3             MD5String = MD5String.Insert(3, RanSaltLoc)              'Returns the MD5 encrypted string to the calling object             Return MD5String         End Function          Public Function Verify(ByVal S As String, ByVal Hash As String) As Boolean             'Variable Declarations             Dim SaltAddress As Double             Dim SaltID As String             Dim NewHash As String              'Finds the Salt Address and Removes the Salt Address from the string             SaltAddress = Hash.Substring(3, 2)             Hash = Hash.Remove(3, 2)              'Finds the SaltID and removes it from the string             SaltID = Hash.Substring(SaltAddress, 4)             Hash = Hash.Remove(SaltAddress, 4)              'Converts the string passed to us to Bytes             EncStringBytes = Encoder.GetBytes(S & SaltID)              'Encryptes the string passed to us with the salt             EncStringBytes = MD5Hasher.ComputeHash(EncStringBytes)              'Converts the Hash to a string             NewHash = BitConverter.ToString(EncStringBytes)             NewHash = NewHash.Replace("-", Nothing)              'Tests the new has against the one passed to us             If NewHash = Hash Then                 Return True             ElseIf NewHash <> Hash Then                 Return False             End If         End Function      End Class End Namespace  

class AES


Module AES     Public Function AESEncryption(ByVal input As String, ByVal pass As String) As String         Dim AES As New System.Security.Cryptography.RijndaelManaged         Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider         Dim encrypted As String = ""         Try             Dim hash(31) As Byte             Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))             Array.Copy(temp, 0, hash, 0, 16)             Array.Copy(temp, 0, hash, 15, 16)             AES.Key = hash             AES.Mode = Security.Cryptography.CipherMode.ECB             Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor             Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input)             encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))             Return encrypted         Catch ex As Exception         End Try     End Function      Public Function AESDecryption(ByVal input As String, ByVal pass As String) As String         Dim AES As New System.Security.Cryptography.RijndaelManaged         Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider         Dim decrypted As String = ""         Try             Dim hash(31) As Byte             Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))             Array.Copy(temp, 0, hash, 0, 16)             Array.Copy(temp, 0, hash, 15, 16)             AES.Key = hash             AES.Mode = Security.Cryptography.CipherMode.ECB             Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor             Dim Buffer As Byte() = Convert.FromBase64String(input)             decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))             Return decrypted         Catch ex As Exception         End Try     End Function End Module  

sesudah selesai membuat coding classnya, sekarang kita pindah ke form. Klik 2x pada button dan inputkan isyarat dibawah ini :


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         If TextBox1.Text = "" Then             MsgBox("isi dulu text inputnya", vbCritical, "Guzko Tutorial")             TextBox1.Focus()             Exit Sub         Else             If RadioButton1.Checked = True Then                 Try                     Dim Endes As New TripleDES                     TextBox2.Text = Endes.Decrypt(TextBox1.Text)                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton2.Checked = True Then                 Try                     Dim Endes As New TripleDES                     TextBox2.Text = Endes.Encrypt(TextBox1.Text)                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton3.Checked = True Then                 Dim md5 As New md5ku                 Try                     TextBox2.Text = md5.Encrypt(TextBox1.Text)                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton5.Checked = True Then                  Try                     TextBox2.Text = AESEncryption(TextBox1.Text, "")                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton6.Checked = True Then                 Try                     TextBox2.Text = AESDecryption(TextBox1.Text, "")                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton7.Checked = True Then                 Try                     Dim byt As Byte() = System.Text.Encoding.UTF8.GetBytes(TextBox1.Text)                     TextBox2.Text = Convert.ToBase64String(byt)                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             ElseIf RadioButton8.Checked = True Then                 Try                     Dim byt As Byte() = Convert.FromBase64String(TextBox1.Text)                     TextBox2.Text = System.Text.Encoding.UTF8.GetString(byt)                 Catch ex As Exception                     MsgBox("Unknow Error : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try             End If         End If     End Sub 

selesai, sekarang coba sahabat jalankan aplikasi tersebut dan lihat hasilnya. Pada rujukan ini saya hanya mengisi dengan beberapa jenis metode enkripsi saja. Nanti akan saya lanjutkan dengan tutorial bagiamana caranya membuat enkripsi sebuah file, sehingga file tersebut tidak mampu dibaca sembarangan oleh orang yang tidak berwenang.


sekian dulu tutorial dari saya perihal Membuat Aplikasi Enkripsi dan Dekripsi teks di VB.Net, semoga bermanfaat. Dan jikalau sahabat blogger ingin download projectnya, sudah saya sediakan link dibawah ini. seee…uuuu






Sumber http://guz-kopyok.blogspot.com/


Postingan populer dari blog ini

Cara Mengatasi Xampp Phpmyadmin Error

Mengatasi Port Yang Bentrok Di Windows

Membuat Aplikasi Barcode Dengan Java Netbeans