Kamis, 30 September 2010
5
[VB] Belajar Dasar Enkripsi Metode XOR
Xor, apakah itu?
Xor adalah salah satu operator logika yang terdapat di sebagian besar bahasa pemrograman. Merupakan singkatan dari Exclusive OR.
Xor memang jarang digunakan, namun dibalik semua itu ternyata operator xor mempunyai kegunaan lain, yaitu untuk
enkripsi!.
Berbeda dengan operator logika lainya seperti AND dan OR, Xor hanya akan bernilai True jika hanya salah satu operand nya bernilai True,
Untuk lebih jelasnya, simak contoh di bawah ini:
Lihat, ternyata Xor hanya bernilai True jika salah satu operand nya bernilai True, jika kedua operadnya bernilai True atau kedua
operand nya bernilai False, Xor akan bernilai False.
Sebenarnya Xor merupakan operator gabungan antara AND dan OR, sebenarnya kita juga membuatnya, beginilah Rumus Xor:
Ternyata begitulah rumus XOR sebenarnya sehingga Xor hanya akan bernilai True jika hanya salah satu operand nya bernilai True.
Sepertinya haya itu yang bisa saya jelaskan tentang operator Xor, selanjutnya kita akan membahas tentang kegunaan operator Xor untuk enkripsi.
Dalam enkripsi Xor, kita juga perlu menentukan Kunci dari enkripsi tersebut, beginilah caranya:
Mari kita bermain dengan kode biner. Perlu anda ketahui bahwa Kode biner 0 adalah bernilai False (Salah),
dan 1 adalah bernilai True (Benar).
Misalnya Sebelum_Enkripsi bernilai 1 dan kunci bernilai 1 maka:
Dalam kasus diatas hasil enkripsi bernilai 0 (False).
Namun jika kita menengkripsi suatu variable, bagaimana cara kita men dekripsinya?
Tenang, jangan panik karena disinilah kelebihan dari operator Xor!. Jika hasil enkripsi kita enkripsi kembali menggunakan kunci yang sama,
maka hasilnya ternyata merupakan hasil sebelum enkripsi, tidak percaya?
Diatas saya ibaratkan True pertama merupakan variable sebelum enkripsi, True kedua adalah kuncinya dan False merupakan hasil enkripsi.
Jadi untuk mendekripsinya, kita bisa melakukan enkripsi ulang terhadap hasil enkripsi menggunakan kunci yang sama
Lihat, hasil deskripsi adalah True! sama persis dengan variable sebelum enkripsi bukan?
Ok, mari kita terapkan konsep yang sudah kita ketahui tersebut kedalam code VB.
Susun seperti dibawah ini:
Source code:
Fungsi enkripsi-dekripsi diatas masih sangat sederhana, untuk memperumitnya agar tidak mudah di crack,
kita bisa melakukannya dengan berbagai cara, seperti menambahkan algoritma aritmatika, melakukan looping
dan sebagainya, seperti contoh fungsi Basic_XOR_EncryptDecrypt yang sedikit diperumit:
Mudahkan, anda bisa melakukan berbagai kombinasi enkripsi lagi dengan berbagai cara seperti menambahkan
algoritma aritmatika dan lain-lain.
Semoga bermanfaat
Xor adalah salah satu operator logika yang terdapat di sebagian besar bahasa pemrograman. Merupakan singkatan dari Exclusive OR.
Xor memang jarang digunakan, namun dibalik semua itu ternyata operator xor mempunyai kegunaan lain, yaitu untuk
enkripsi!.
Berbeda dengan operator logika lainya seperti AND dan OR, Xor hanya akan bernilai True jika hanya salah satu operand nya bernilai True,
Untuk lebih jelasnya, simak contoh di bawah ini:
Opernad1 Xor Opernad2 = Hasil
True Xor True = False
False Xor False = False
True Xor False = True
False Xor True = True
Lihat, ternyata Xor hanya bernilai True jika salah satu operand nya bernilai True, jika kedua operadnya bernilai True atau kedua
operand nya bernilai False, Xor akan bernilai False.
Sebenarnya Xor merupakan operator gabungan antara AND dan OR, sebenarnya kita juga membuatnya, beginilah Rumus Xor:
a XOR b = (a AND (NOT b)) OR ((NOT a) AND b)
Ternyata begitulah rumus XOR sebenarnya sehingga Xor hanya akan bernilai True jika hanya salah satu operand nya bernilai True.
Sepertinya haya itu yang bisa saya jelaskan tentang operator Xor, selanjutnya kita akan membahas tentang kegunaan operator Xor untuk enkripsi.
Dalam enkripsi Xor, kita juga perlu menentukan Kunci dari enkripsi tersebut, beginilah caranya:
Sebelum_Enkripsi XOR Kunci = HasilEnkripsi
Mari kita bermain dengan kode biner. Perlu anda ketahui bahwa Kode biner 0 adalah bernilai False (Salah),
dan 1 adalah bernilai True (Benar).
Misalnya Sebelum_Enkripsi bernilai 1 dan kunci bernilai 1 maka:
1 Xor 1 = 0
Dalam kasus diatas hasil enkripsi bernilai 0 (False).
Namun jika kita menengkripsi suatu variable, bagaimana cara kita men dekripsinya?
Tenang, jangan panik karena disinilah kelebihan dari operator Xor!. Jika hasil enkripsi kita enkripsi kembali menggunakan kunci yang sama,
maka hasilnya ternyata merupakan hasil sebelum enkripsi, tidak percaya?
True Xor True = False
Diatas saya ibaratkan True pertama merupakan variable sebelum enkripsi, True kedua adalah kuncinya dan False merupakan hasil enkripsi.
Jadi untuk mendekripsinya, kita bisa melakukan enkripsi ulang terhadap hasil enkripsi menggunakan kunci yang sama
False Xor True = True
Lihat, hasil deskripsi adalah True! sama persis dengan variable sebelum enkripsi bukan?
Ok, mari kita terapkan konsep yang sudah kita ketahui tersebut kedalam code VB.
Deklarasi:
1 Form
3 Text Box
2 Command Button
Susun seperti dibawah ini:
Source code:
Private Sub Command1_Click()
Text2.Text = Basic_XOR_EncryptDecrypt(Text1.Text, Text3.Text)
End Sub
Private Sub Command2_Click()
Text1.Text = Basic_XOR_EncryptDecrypt(Text2.Text, Text3.Text)
End Sub
Private Sub Form_Load()
Command1.Caption = "Enkripsi!"
Command2.Caption = "Dekripsi!"
Text1.Text = "text untuk enkripsi"
Text2.Text = "text untuk deskripsi"
Text3.Text = "Kunci"
End Sub
' Fungsi enkripsi-dekripsi
Private Function Basic_XOR_EncryptDecrypt(ByVal str As String, ByVal key As String)
Dim StrEnc As String
For i = 1 To Len(str)
StrEnc = StrEnc & Chr(Asc(Mid(str, i, 1)) Xor Asc(key))
Next
Basic_XOR_EncryptDecrypt = StrEnc
End Function
' 2010 crowja
Fungsi enkripsi-dekripsi diatas masih sangat sederhana, untuk memperumitnya agar tidak mudah di crack,
kita bisa melakukannya dengan berbagai cara, seperti menambahkan algoritma aritmatika, melakukan looping
dan sebagainya, seperti contoh fungsi Basic_XOR_EncryptDecrypt yang sedikit diperumit:
' Fungsi enkripsi-dekripsi
' 2010 crowja
Private Function Basic_XOR_EncryptDecrypt(ByVal str As String, ByVal key As String)
Dim StrEnc As String
Dim XoredKey As Long
' melakukan enkripsi pada kunci
For i = 1 To Len(key)
XoredKey = XoredKey Xor Asc(Mid(key, i, 1))
Next
' melakukan enkripsi pada str
For i = 1 To Len(str)
StrEnc = StrEnc & Chr(Asc(Mid(str, i, 1)) Xor XoredKey)
Next
Basic_XOR_EncryptDecrypt = StrEnc
End Function
Mudahkan, anda bisa melakukan berbagai kombinasi enkripsi lagi dengan berbagai cara seperti menambahkan
algoritma aritmatika dan lain-lain.
Semoga bermanfaat
Langganan:
Posting Komentar (Atom)
5 Komentar Untuk “[VB] Belajar Dasar Enkripsi Metode XOR”
Sabtu, 26 Februari 2011 pukul 00.25.00 WIB
bagus sekali..
ada gak program java untuk menghitung bilangan faktorial
Sabtu, 26 Februari 2011 pukul 11.52.00 WIB
@Anonim seep,, sbenarnya ada sh.. tp q blum kenal sma bahasa java.. maklum msih du2k di bngku sma., jd msih fkus sma pljaran.. trlebih lg mau ujian nh...hehehe
Minggu, 08 Mei 2011 pukul 23.39.00 WIB
mksh atas postingnya bisa membantu saya mengerjkan tugas :))
Senin, 09 Mei 2011 pukul 12.17.00 WIB
@yuyun sma2 mba yuyun... seneng bs mmbantu....^_^
Senin, 12 Desember 2011 pukul 23.58.00 WIB
wah membantu sekali. btw bisa dijelaskan yg lebih rinci nggak ini cara kerja syntaxnya yg fungsi enkripsi-dekripsi?
Posting Komentar
Berikan komentar positif tentang artikel yang sederhana ini niscaya sobat akan mendapatkan balasannya. Hehehe