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