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