Kebingungan dapat mengacu pada salah satu hal berikut:
1. Kebingungan adalah kode atau instruksi yang sengaja dibuat rumit untuk membantu menyembunyikan fungsi kode tersebut. Seorang programmer dapat melakukan ini untuk membantu mencegah program tersebut dimodifikasi, dicuri, atau mencegah program membaca kode dan memahami maksud jahatnya yang sebenarnya. Misalnya, kebingungan URL (Uniform Resource Locator) digunakan untuk menyembunyikan alamat sebenarnya yang menjadi tujuan pengguna ketika mengklik email atau link halaman web. Dalam beberapa kasus, kode yang dikaburkan digunakan dalam kontes sebagai permainan asah otak.
Dibawah ini adalah contoh dari sebuah dikaburkan file batch yang mencetak “GOD BLESS YOU!” dari forum Harapan Komputer.
@echo off setlocal %1 %0 :: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z set A=%5&set B=%6&set C=%8&set D=%3 for %%? in (1 2 3 4 5 6 7 8 9) do shift set A=%C%%7%A%&set C=%D%%4%B%&set D=%7 for %%? in (1 2 3 4 5 6 7 8 9) do shift echo %A% %C%%2%2 %8%D%%4!
Kode di atas sulit untuk dipahami tanpa meluangkan waktu untuk menguraikannya dan lebih sulit daripada “echo GOD BLESS YOU.”
2. Dengan keamanan komputer, kebingungan dapat digunakan sebagai teknik untuk mengelabui pengguna komputer. Misalnya, pelaku kejahatan mungkin mengaburkan nama domain dalam email phishing agar tampak sah. Misalnya mengganti satu atau lebih huruf “o” di computerhope.com dengan angka nol agar tampak seperti website Computer Hope.
IOCCC, KISS, Istilah pemrograman, Istilah keamanan, Kode Spaghetti