PHP, 221 Bytes ([Cracked][1])
==============
I hope it is difficult enough.
Regex (PCRE): 16 Bytes
-------------
^[^\s/\#6]{221}$
No space, No comments, no use of base64_decode. Have Fun.
Output
------
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
Original Code
-------------
$w=$argv[1];$s="";$r=range(1,$w**2);for($i=0;$i<$w;$i++)if($i%2)array_splice($r,$i*$w,$w,array_reverse(array_slice($r,$i*$w,$w)));foreach(($r)as$v)$s.=str_pad($v,$l=strlen(max($r))+1,"\x20",0);echo(chunk_split($s,$l*$w));
[1]: http://codegolf.stackexchange.com/a/112405/32353