Home »
Tips dan Trick
» Teknik dasar virtual basic dalam penyandian (enskripsi) kata atau password
Teknik dasar virtual basic dalam penyandian (enskripsi) kata atau password
Posted by yos djoker
Posted on 06.41
with No comments
Oke sobat SKO kali ini saya akan membahas sedikit tentang program visual basic. Dalam 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(TXTAs String, OptionalAAs Integer, OptionalBAs Integer, OptionalRVAs 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 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.
Label:
Tips dan Trick
0 komentar:
Posting Komentar