Encryption & Decryption String (Text) di Vb.Net

Encryption & Decryption String (Text) di Vb.Net

Encryption & Decryption String (Text) di Vb.Net


Pada sebuah aplikasi atau website sering digunakan fungsi Encrypt dan Decrypt untuk keamanan sebuah teks atau string. Contohnya dalam pembuatan password login user diweb biasanya digunakan MD5 untuk melakukan Encryption pada password login user tersebut. Pastinya hal itu dilakukan untuk keamanan akun user.

 

Tapi kali ini yang akan saya bahas adalah Encrypt & Decrypt String di Vb.Net. Pada dasarnya Encrypt dilakukan untuk mengubah sebuah string menjadi karakter yang tak bisa dibaca, hal ini juga bisa diterapkan di .ini file misal config.ini atau my.ini file dan juga password yang akan disimpan ke database yang sifatnya rahasia.

 

Jadi terdapat dua fungsi yang akan digunakan yaitu Encrypt & Decrypt.

 

Encryption sendiri itu berfungsi mengubah teks atau yang lebih dikenal sebagai string menjadi karakter yang tak terbaca, Sedangkan Decryption sendiri mengubah hasil Encryption kebentuk aslinya.

 

Caranya ?

 

Buat sebuah modul, disini saya menamakan modulnya = mEncrypt.vb maka pada bagian codenya akan seperti berikut :

 

Module mEncrypt


End Module

 

Import system io dan system security cryptography.

 

Imports System.IO
Imports System.Security.Cryptography

Module mEncrypt


End Module

 

Buat sebuah Key random yang akan di encode dan digabungkan dengan string yang akan di Encrypt.

 

Imports System.IO
Imports System.Security.Cryptography

Module mEncrypt

    Dim MyKey As String = "Isi teks apa saja disini"

End Module

 

Selanjutnya buat fungsi Encrypt dan Decrypt, sehingga hasil akhirnya akan seperti berikut.

 

Imports System.IO
Imports System.Security.Cryptography

Module mEncrypt

    Dim MyKey As String = "Isi teks apa saja disini"
    Public Function EncryptText(ByVal SourceText As System.String) As System.String
        Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
        Dim strResult As System.String = ""

        Try
            Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Strings.Left(MyKey, 8))
            Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(SourceText)
            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()
            strResult = Convert.ToBase64String(ms.ToArray())
        Catch ex As Exception
            Throw New Exception
        End Try
        Return strResult
    End Function

    Public Function DecryptText(ByVal Chippedtexta As System.String) As System.String
        Dim iv() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
        Dim inputbytearray(Chippedtexta.Length) As Byte
        Dim strresult As System.String
        Try
            Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Strings.Left(mykey, 8))
            Dim des As New DESCryptoServiceProvider
            inputbytearray = Convert.FromBase64String(Chippedtexta)
            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
            strresult = encoding.GetString(ms.ToArray())
            Return strresult
        Catch ex As Exception
            Throw New Exception
        End Try
    End Function

End Module

 

Untuk penggunaannya tinggal memanggil fungsinya, misalkan yang ingin di Encrypt = (teks yang akan diencrypt) Dan MyKey = Haysia Development

 

Untuk lebih jelasnya saya akan contohkan di project vb.net, Buat Project dan tambahkan sebuah form dengan nama EncryptDecrypt.vb dan tambahkan 2 textbox dan 1 button, tampilannya seperti berikut.

 

 

Double klik pada tombol Encrypt untuk masuk ke code dan isi dengan kode berikut.

 

Public Class EncryptDecrypt

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "" Then
            MsgBox("Teks kosong !!!")
        Else
            TextBox2.Text = EncryptText(TextBox1.Text)
        End If
    End Sub
End Class

 

Saat fungi Encrypt dijalankan maka hasilnya akan seperti berikut.

 

 

Pada hasilnya terlihat campuran huruf besar dan kecil, nomor dan karakter.

Hasil = Sa0RtAMCKy6hQo7sN8oBSnYhEz3NmKJCLbh5bzdFZKc= 

 

Sekian tutorial kali ini, semoga bermanfaat winkcool

 

Bagikan


Artikel Dipost Oleh Hariadi

Seorang freelancer website and software developer, gemar dengan ilmu seputar IT serta penuh semangat untuk belajar.


2 Komentar

Asep Permana Asep Permana 06 Jul 2022
Kalau decryptnya bagaimana kang..

Berikan komentar ...