Codifica e crittografia non sono la stessa cosa: la codifica non ha bisogno di una chiave, la crittografia lo fa. XOR non sta codificando, è una forma di crittografia molto debole . Base64 sarebbe un esempio di codifica. Uuencode è un altro esempio.
La differenza tra XOR e AES è la differenza tra una scatola di legno con chiodi che chiude la porta e una cassastrong per la banca. XOR può essere banalmente decodificato, ma AES no.
In questo caso specifico di offuscamento del codice, XOR è astronomicamente più veloce di AES. Distruggerà la maggior parte dei sistemi IDS basati sulle firme e non aumenterà troppo il codice risultante. AES creerà un codice più grande e sarà più lento.
In entrambi i casi, qualsiasi ispettore umano sarà in grado di decodificare il contenuto, in quanto dovrai fornire la chiave per decrittografare il codice. Altrimenti il tuo programma non funzionerebbe affatto.