Membuat Fungsi Enkripsi String Di VB .Net

Teknik enkripsi biasanya digunakan ketika terdapat sebuah data yang penting dan bersifat rahasia, maka data tersebut diubah menjadi sedemikian rupa (lebih dalam, ilmu kriptografi) sehingga data yang sebenarnya tidak diketahui melainkan data hasil enkripsinya saja yang terbaca. Teknik ini digunakan biasanya untuk data akun seorang nasabah bank di sebuah bank. Dalam skala kecil, penggunaan password pun sangat diperlukan nya penerapan teknik enkripsi ini. Disini saya ingin berbagi bagaimana mengenkrip sebuah string dengan teknik hasil kriptografi MD5 dimana hash value nya bisa mencapai 128-bit. Fungsi ini diterapkan pada VB .Net 2010 dan diterapkan pada sebuah textbox. Untuk tampilannya mungkin bisa seperti ini.



Terlihat pada gambar bahwa teks "password" di enkrip menjadi sedemikian rupa yang ditampilkan pada textbox hasil. Untuk baris syntaxnya, sobat bisa lihat sebagai berikut (untuk fungsi enkripsi nya itu sendiri, saya tandai dengan warna merah).
Public Class Enkripsi

Private Sub Enkripsi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox2.ReadOnly = True
TextBox1.Select()
End Sub

Public Function computeHash(ByVal textToHash As String) As String
'//dibawah ini adalah sebuah fungsi untuk mengenkripsi text dengan metode MD5
Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider()
Dim Bytes() As Byte = MD5.ComputeHash(System.Text.Encoding.ASCII.GetBytes(textToHash))
Dim s As String = Nothing
For Each by As Byte In Bytes
s += by.ToString("x2")
Next
Return s
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox2.Text = computeHash(TextBox1.Text)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Clear()
TextBox2.Clear()
TextBox1.Select()
End Sub

End Class

Nah mungkin ada pertanyaan, bagaimana mengembalikan teks hasil enkripsi menjadi teks semula (Decrypt)? Jujur saja, saya belum nemuin algoritmanya, MD5 tergolong sulit untuk di decrypt. Sulit, bukan berarti tidak bisa, soalnya disini saya menemukan website yang bisa mendecrypt MD5 itu sendiri, contohnya disini. Mudah-mudahan dapat bermanfaat. Jika ada saran, kritik atau pertanyaan silahkan layangkan komentar.

8 Komentar

  1. MD5 memang tidak bisa di decrypt mas bro, karena merupakan 'one way hash'
    kalo diwebsite website yg menyediakan layanan decrypt itu sebenarnya hanya mencocokkan data md5 dengan md5 saja.

    BalasHapus
    Balasan
    1. Oh begitu toh, makasih masukkannya.. memang bener sih MD5 tu one way hash, cuman baru tau kalo ternyata website "pendecrypt" itu cuman cocokin data aja. Sekali lagi makasih masukkannya :D

      Hapus
  2. jadi penggunaan itu buat apa kang? mohon pencerahan saya new bie nihh hehe.
    untuk password? taw gimana?? coba ceritakan dengan semisalkan program jadi eknripsi tuh dimana disimpennya??

    BalasHapus
    Balasan
    1. Fungsi diatas tuh pernah saya implementasiin di form login vb.net, dimana string yg diencrypt saya gunain di password. Sebelumnya saya simpan data password yang udah di ecnrypt di database, kemudian ketika form login mendapat inputan password, inputan tersebut di encrypt terlebih dahulu, kemudian dicocokan dengan data di database, sekilas passwordnya terlihat lebih aman :D

      Hapus
  3. Mantap tutornya..ijin copas ya.

    BalasHapus
  4. Proteksi dengan CRYPTOGRAPHY

    https://www.youtube.com/watch?v=uXv33e0Nod4

    Beda Password beda ENKRIPSI, silahkan klik link diatas untuk info lebih lanjut

    BalasHapus
  5. josh gan.. makasih ilmu barunya.... lanjutkan berkarya

    BalasHapus
Lebih baru Lebih lama