RSS

Tips Visual Basic – Enkripsi / Dekripsi (Penyandian) Password dan Teks

16 Feb

tips vb - enkripsi  dekripsiDalam tips VB kali ini, kita akan mencoba menyandikan teks atau password. Penyandian sangat diperlukan, agar setiap kata-kata yang rahasia yang tidak boleh diketahui oleh orang lain bisa dengan aman disimpan baik didalam program EXE ataupun dalam file lain.

Jadi kalau ada yang coba-coba membongkar file EXE atau file penting lainnya yang telah disandikan, maka orang tersebut tidak akan dengan mudah mendapatkan teks aslinya. Kecuali kalau ia memang seorang hacker yang sangat tangguh.

Banyak teknik penyandian (enkripsi) yang telah dikembangkan saat ini, mulai dari yang sangat sederhana sampai pada yang amat kompleks dan aman. Dalam tips kali ini diberikan sebuah teknik sederhana namun kiranya sudah cukup aman untuk sebuah program kecil-kecilan.

Teknik ini adalah kreasi dari John Clark Craig, bersumber dari bukunya yang berjudul Microsoft Visual Basic 4.0 Developer’s Workshop Edisi Ketiga. Enkripsi ini adalah simetris, artinya teks yang telah dienkripsi bisa dikembalikan ke teks asalnya (dekripsi). Berikut ini adalah kodenya (beberapa kodenya telah saya rubah sedikit untuk penyesuaian):

Function Cipher(TXT As String, Optional A As Integer, Optional B As Integer, Optional RV As Integer)
Static R As Long
Static M As Long
Static N As Long
Const BN As Long = 32768
Dim I As Integer, C As Integer, D As Integer
If IsMissing(RV) = False Then R = RV
If IsMissing(A) Then
If M = 0 Then M = 69
Else
M = (A * 4 + 1) Mod BN
End If
If IsMissing(B) Then
If N = 0 Then N = 47
Else
N = (B * 2 + 1) Mod BN
End If
‘proses setiap karakter
For I = 1 To Len(TXT)
C = Asc(Mid$(TXT, I, 1))
‘modifikasi khusus teks yg bisa dibaca saja
Select Case C
Case 48 To 57
D = C – 48
Case 63 To 90
D = C – 53
Case 97 To 122
D = C – 59
Case Else
D = -1
End Select
If D >= 0 Then
R = (R * M + N) Mod BN
D = (R And 63) Xor D
Select Case D
Case 0 To 9
C = D + 48
Case 10 To 37
C = D + 53
Case 38 To 63
C = D + 59
End Select
Mid$(TXT, I, 1) = Chr$(C)
End If
Next I
Cipher = TXT
End Function

Perhatikan teks berwarna merah di atas (parameternya), TXT adalah teks yang akan dienkripsi/dekripsi. Sedangkan nilai A, B, dan RV bisa anda ganti-ganti. Setiap perubahan nilai A,B atau RV akan menghasilkan teks hasil enkripsi yang berbeda. Jadi anda bisa mengkombinasikannya.

Karena enkripsi ini adalah simetris, maka jika teks hasil enkripsi anda masukkan kembali ke fungsi di atas, akan menghasilkan teks aslinya kembali (tentunya menggunakan nilai A, B, dan RV yang sama dengan saat mengenkripsi). Contoh menggunakan fungsi di atas adalah seperti berikut:

txtHasilEnkripsi.Text = Cipher(txtSumber.Text, 4, 6, 9)
txtHasilDekripsi.Text = Cipher(txtHasilEnkripsi.Text, 4, 6, 9)

Kalau sobat mau melihat file source kode beserta contohnya, bisa didownload disini. Source kode tersebut bila dijalankan, tampilannya adalah seperti pada gambar di atas.

Sumber : http://www.tipskomputer33.com/2010/11/tips-visual-basic-enkripsi-dekripsi.html#more

 
Tinggalkan komentar

Ditulis oleh pada 16 Februari 2012 in Materi Kuliah

 

Tag:

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: