Tutorial sederhana untuk membuat library Enkripsi dan Dekripsi Text.
Q : Jadi dengan tau paternnya kita bisa dekripsi suatu text yang di enkripsi ?
A : Belum tentu.
Jangan mentang - mentang tau polanya kita berharap bisa men-dekripsi suatu text.
"KUNCI", kunci adalah kata kunci untuk kita bisa meng-deskripsi suatu text.
Ada banyak Pola / Patern Enkripsi ada yang kuncinya sudah konstanta ada yang kuncinya dinamis dan ada yang konstanta sekaligus dinamis.
Buat yang udah pernah lihat film enigma pasti paham, setelah mesin deskripsinya berhasil dibuat pesan yang dikirim oleh tentara lawan tetap belum bisa di dekripsi, sampai akhirnya alan turing menyadari bahwa kuncinya selalu berubah setiap hari.
tutorial ini sebagai informasi dasar / contoh simple proses enkripsi.
catatan penting :
Untuk kuncinya tidak bisa karakter khusus (ŸÚæ×{©žš¡~) dan kawan - kawannya, cuma bisa A-Z, 0-9, !@# dkk.
Langkah 1 : Buat Project Class Library.
Untuk function / method yang sering kita gunakan dan jarang berubah / bisa diseting (dinamis ) parameternya sebaiknya dibuatkan librarynya, sehingga kedepannya kita tidak perlu menulis ulang.
Langkah 2 : Buat Class Enkripsi
Didalam class ini akan terdapat 2 method, Enkripsi dan Dekripsi.
Langkah 3 : Buat Method Enkripsi
Private Const Key1 = "040783!@#$%" 'ini bebas selain simbol2 special. Public Shared Function EncryptString(ByVal Key2 As String, ByVal StringtoEncrypt As String) As String Dim Result As String = String.Empty Dim c As Double = 0 Dim StringBuffer = String.Empty 'StringtoEncrypt = string yang mau dienkrip + kunci 1 StringtoEncrypt = StringtoEncrypt & Key1 If Not Key1 = String.Empty And Not Key2 = String.Empty And Not StringtoEncrypt = String.Empty Then 'lakukan penggulangan dari 1 ke panjang string yang mau diencrtyp For i = 1 To Len(StringtoEncrypt) 'isi c dengan hasil conversi karakter ke i dari stringtoencrypt c = Asc(Mid(StringtoEncrypt, i, 1)) 'c diisi oleh c (diatas) + konversi (karakter ke (hasil (sisa i bagi jumlah key) +1)) 'misal key = PQRS = len(4) 'misal i = 2 '2 mod 4 = 0 + 1 = 1 'mid(PQRS,1,1) 'asc(P) 'c + hasil konversi asc(P) c = c + Asc(Mid(Key2, (i Mod Len(Key2)) + 1, 1)) 'StringBuffer = StringBuffer + hasil konversi (c) StringBuffer = StringBuffer & Chr(c) Next Result = StringBuffer End If Return Result End Function
Langkah 4 : Buat Method Dekripsi
Public Shared Function DecryptString(ByVal Key2 As String, ByVal StringtoDecrypt As Object) Dim result As String = String.Empty Dim c As Double Dim StringBuffer = String.Empty If Not Key2 = String.Empty And Not StringtoDecrypt = String.Empty Then 'lakukan penggulangan dari 1 ke panjang string yang mau didecrtyp For i = 1 To Len(StringtoDecrypt) 'isi c dengan hasil konversi karakter ke i dari stringtodecrypt c = Asc(Mid(StringtoDecrypt, i, 1)) 'c diisi oleh c (diatas) - konversi (karakter ke (hasil (sisa i bagi jumlah key) +1)) 'misal key = PQRS = len(4) 'misal i = 2 '2 mod 4 = 0 + 1 = 1 'mid(PQRS,1,1) 'asc(P) 'c - hasil konversi asc(P) c = c - Asc(Mid(Key2, (i Mod Len(Key2)) + 1, 1)) StringBuffer = StringBuffer & Chr(c) Next result = StringBuffer End If Return Replace(result, Key1, "") ' hapus Key1 dengan perintah replace End Function
Langkah 5 : Build Project.
Seteleh dibuild akan terbentuk 1 file dll "JCrypt.dll" atau nama sesuai nama project.
Langkah 6 : Menambahkan reference / library kedalam project.
Setelah kita membuat libary selanjutnya adalah menggunakannya di project2 yang kita buat.
Langkah 7 : Menggunakan Library Enkripsi
Textbox yang digunakan disample ini adalah JTextbox (Textbox Custom Control : soon).
Imports JCrypt Public Class Form1 Private Sub tnormal1_KeyDown(sender As Object, e As KeyEventArgs) Handles tnormal1.KeyDown If e.KeyCode = 13 Then tenkripsi1.Text = JCrypt.JCrypt.EncryptString(tkey.Text, tnormal1.Text) tdekripsi1.Text = JCrypt.JCrypt.DecryptString(tkey.Text, Convert.ToString(tenkripsi1.Text)) End If End Sub End Class
IDE : Visual Studio 2013 (dibawah ini juga bisa)
Framework : .NET 4.5
Sample dll : download (ada messageboxnya)
sekian dulu berbaginya, jangan lupa like, komen, share.
jangan lupa sertakan link blog ini sebagai sumber kalo kalian mau paste tutorial ini di blog kalian.
Selamat Mencoba.
.
0 comments:
Post a Comment