Joho,
Ach, schade ;) - Dachte schon ich hätte dich durchschaut. Nun, zweiter Vorschlag: lineare
Transformation (-5 oder -3), die abhängt, ob der ASCII-Code durch zwei Teilbar ist oder nicht?
Jepp, sehr einfach.
- Hab nochmals genauer hingeschaut, wie komme ich nur auf RSA?
Keine Ahnung ;-) hab ich mich auch gefragt.
- Aber wie zum Henker werden die Daten ausgegeben? - Das hab ich bis heute nicht geschnallt.
eigentlich ist das relativ einfach. Ich formatiere es mal etwas anders:
s s^s<DATA>se;
s (([^\s]))(ord($1) % 2 ? chr(ord($1)-5) : chr(ord($1)-3))sieg;
s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
s s^s<DATA>se; sollte klar sein, ebenso wie die Zeile darunter. Das interessante ist
erst s s^s$_see: hier wird ein string evaluiert. Mehr sag ich dazu nicht.
( dieses Script hat meine Aufmerksamkeit und mein Interesse geweckt ;) )
JAPHs sind im allgemeinen sehr cool. Z. B.:
I, require strict and do(not require warnings); my $answer = $u
unless $answer == '42'; Question: if(defined by this_paradigm do
you_do_the_hacker_foo(??)){sub AUTOLOAD{$_=$now=join'the',<DATA>
;y?FO?01?; s.o|the| |\n..goe;s/(.{7})/(chr(eval'($u,$ate)=(0,1);
foreach $foo(reverse split "",$1){$u+=$ate*$foo;$but_I=$ate*=2;}
$$answer'))/eg;$_= join'',sort/(..)/g and print join'',/.(.)/go;
$now and exit, do(not die)}}else{goto Question and $answer;y???}
__DATA__
OOFFOOOOOFOO OFOO OOFFFOOOFFO FOOO FFOO OFFO
FFFOOFOOOFOF OFFFFOOF OFFFOOFOOOOO OFOO FOFO FFFF
FOOO FOOF OOFO FOOO OFOF OOOO FFOF OOOF
OFOF OOFO FFFO OFFF OOOO OFFO OOOF FFFO
OFFO FOFOOOFFOFFO FFFFFOOOFOFF OOFFFFOOOFFO FFOO
OFOF FOOFFOFOFOFF FFFOOFFOOFO FFFFFOOOOFOF OOOF
FFOO OOOF FFOO OFOO FFOO OFFF FOOO
FF OFOO FOOO OOOF FOFO OOFO OFFO
OOFFOFOO FFFO FOOO FOFO OOFO FFOO OOFO
FFOOOF OOOO OFFO FOOO OOFF OFOF FFFO
Oder eines von Abigail:
tie $" => A; $, = " "; $\ = "\n"; @a = ("") x 2; print map {"@a"} 1 .. 4;
sub A::TIESCALAR {bless \my $A => A} # Yet Another silly JAPH by Abigail
sub A::FETCH {@q = qw /Just Another Perl Hacker/ unless @q; shift @q}
Oder von Thoren Johne:
END{tie$@=>X=>and$@=42=>print"$@8#X"}eval(reverse(q?}esrever{HCTEF::A bus
;>=101010>>42;}"JAPHn"=_${EROTS::A bus}'A'>=@$\sselb{RALACSEIT::X bus?))
Oder eins von Andy (IMHO sein genialstes):
$_=q?tvc!uif)%*|#Bopuifs!A#~tvc!Xibu)%\*|qsjou#Kvtu!A
#~tvc!KBQI!)*|~
tvc!ifmm)%*|#Qfsm!A`#~tvc!jt)%*|(Ibdlfs(~ # What the hell is JAPH? ;
@_=split/\s\s+#/;$_=(join''=>map{chr(ord( # n.d. parker ;
$_)-1)}split//=>$_[0]).$_[1];s s.*s$_see; # http://www.o3media.de/ ;
Naja, es gibt ziemlich viele ;-)
Gruss,
CK