Okie, here's something for you...and it's even useful (in case your eyes are tired at the end of a long coding session and decide it might be time to call it a night/morning/afternoon).

I think I might even put this in my path, 'cause after writing obfuscated perl, I need it too.

@x=map(chr,124,47,92,45,95,32);($t[0],$t[1],$t[2])=localtime(time); for(@t){$_='0'.$_ if $_<10}$i[1][1]="$x[5]$x[1]$x[0]$x[5]"; $i[1][2]="$x[5]$x[5]$x[0]$x[5]";$i[1][3]=$i[1][2];$i[1][4]= "$x[5]$x[4]$x[0]$x[4]";$i[2][1]="$x[1]$x[3]$x[3]$x[2]";$i[2][2]= "$x[5]$x[4]$x[4]$x[1]";$i[2][3]="$x[1]$x[5]$x[5]$x[5]";$i[2][4]= "$x[0]$x[4]$x[4]$x[4]";$i[3][1]=$i[2][1];$i[3][2]= "$x[5]$x[5]$x[5]$x[0]";$i[3][3]="$x[5]$x[5]$x[3]$x[0]";$i[3][4]= "$x[2]$x[4]$x[4]$x[1]";$i[4][1]="$x[5]$x[1]$x[5]$x[0]";$i[4][2]= "$x[1]$x[4]$x[4]$x[0]";$i[4][3]=$i[3][2];$i[4][4]=$i[4][3]; $i[5][1]="$x[1]$x[3]$x[3]$x[3]";$i[5][2]="$x[0]$x[4]$x[4]$x[5]"; $i[5][3]="$x[5]$x[5]$x[5]$x[2]";$i[5][4]=$i[2][2];$i[6][1]=$i[5][1]; $i[6][2]=$i[5][2];$i[6][3]="$x[0]$x[5]$x[5]$x[2]";$i[6][4]=$i[3][4]; $i[7][1]=$i[5][1];$i[7][2]="$x[5]$x[5]$x[5]$x[1]";$i[7][3]= "$x[5]$x[5]$x[1]$x[5]";$i[7][4]="$x[5]$x[1]$x[5]$x[5]";$i[8][1]= $i[3][1];$i[8][2]=$i[6][4];$i[8][3]="$x[1]$x[5]$x[5]$x[2]"; $i[8][4]=$i[6][4];$i[9][1]=$i[2][1];$i[9][2]=$i[8][2]; $i[9][3]=$i[7][3];$i[9][4]=$i[7][4];$i[0][1]=$i[9][1];$i[0][2]= "$x[0]$x[5]$x[5]$x[0]";$i[0][3]="$x[0]$x[5]$x[5]$x[0]";$i[0][4]= $i[9][2];print "\n";@T=split(//,"$t[2]$t[1]$t[0]");for $y (1..4) {for $l(@T){print $i[$l][$y].$x[5];}print "\n";}print "\n";

Kickstart

Replies are listed 'Best First'.
Re: Something useful
by c-era (Curate) on Mar 01, 2001 at 19:56 UTC
    I made a slight improvement (the output is easier to read).
    @x=map(chr,124,47,92,45,95,32,42);($t[0],$t[1],$t[2])=localtime (time);for(@t){$_='0'.$_ if $_<10}$i[1][1]="$x[5]$x[1]$x[0]$x[5]"; $i[1][2]="$x[5]$x[5]$x[0]$x[5]";$i[1][3]=$i[1][2];$i[1][4]= "$x[5]$x[4]$x[0]$x[4]";$i[2][1]="$x[1]$x[3]$x[3]$x[2]";$i[2][2]= "$x[5]$x[4]$x[4]$x[1]";$i[2][3]="$x[1]$x[5]$x[5]$x[5]";$i[2][4]= "$x[0]$x[4]$x[4]$x[4]";$i[3][1]=$i[2][1];$i[3][2]= "$x[5]$x[5]$x[5]$x[0]";$i[3][3]="$x[5]$x[5]$x[3]$x[0]";$i[3][4]= "$x[2]$x[4]$x[4]$x[1]";$i[4][1]="$x[5]$x[1]$x[5]$x[0]";$i[4][2]= "$x[1]$x[4]$x[4]$x[0]";$i[4][3]=$i[3][2];$i[4][4]=$i[4][3]; $i[5][1]="$x[1]$x[3]$x[3]$x[3]";$i[5][2]="$x[0]$x[4]$x[4]$x[5]"; $i[5][3]="$x[5]$x[5]$x[5]$x[2]";$i[5][4]=$i[2][2];$i[6][1]=$i[5][1]; $i[6][2]=$i[5][2];$i[6][3]="$x[0]$x[5]$x[5]$x[2]";$i[6][4]=$i[3][4]; $i[7][1]=$i[5][1];$i[7][2]="$x[5]$x[5]$x[5]$x[1]";$i[7][3]= "$x[5]$x[5]$x[1]$x[5]";$i[7][4]="$x[5]$x[1]$x[5]$x[5]";$i[8][1]= $i[3][1];$i[8][2]=$i[6][4];$i[8][3]="$x[1]$x[5]$x[5]$x[2]"; $i[8][4]=$i[6][4];$i[9][1]=$i[2][1];$i[9][2]=$i[8][2]; $i[9][3]=$i[7][3];$i[9][4]=$i[7][4];$i[0][1]=$i[9][1];$i[0][2]= "$x[0]$x[5]$x[5]$x[0]";$i[0][3]="$x[0]$x[5]$x[5]$x[0]";$i[0][4]= $i[9][2];print "\n";@T=split(//,"$t[2]$t[1]$t[0]");for $y (1..4) {for $l(0..$#T){print $i[$T[$l]][$y],($l&5|$y&2)==3?@x[5,6,5]: ($l&13)==1?@x[5,5,5]:$x[5];}print "\n";}print "\n";
      >I made a slight improvement (the output is easier to read).

      But WHY would you make an obfuscation easier to read? :)

      Just kidding, I realize what you mean.

      Kickstart

Re: Something useful
by Masem (Monsignor) on Mar 01, 2001 at 17:50 UTC
    Pretty cool ... I bet there's a way to obscure this a bit more -- the calls to set up the digits are taking a lot of space. Maybe if you had a long string like /--\&|--|&\--/&|--..., which you can then break into an array on the & character. Then you'd need a similar string for each digit; for example, if the string was as above, I'd have '1223' for the zero character. All 10 digits can be set in such an array (which would end up being multidimensional). I'd then back up one step with each and obfuscate each string with a tr// conversion (here's a good place for some name or initial insertion :D), or particularly since the character string would only need 6 digits, you could treat it as an octal and convert it to a decimal number instead of tr//.