in reply to Crypto Japh
This step can be rewrited as :
If you print @result you will see :@keys=qw'79 11 34 69 41 27'; @list_to_crypt = split/ /, 'writing Library. Building consider TO($FOO +) *binary*' ; @result=map{ crypt ($_.' ', shift @keys) } @list_to_crypt ;
Now, in the same map liverpole pops the value at the end of @:: into $x , which is used into a regexp against the crypted values . This can be rewriten as :79jUStLZ6Ck9c 11anOTHZ33A12 34ERehEMmayDo 69pERLsGUZYU2 41HAcKS9/lrEQ 27eRTYtC6a5HI
If you print @final you get :@matcher = qw'2 4 4 2 5 4' ; foreach $crypted (@result ) { $x = pop @matcher ; $crypted =~/..(.{$x}).*/g ; push @final, $1 ; }
The match is fairly understandable : it could read as "any character", "any character", "remember those next $x any character", "anything till the end of line" . And as it happens, $x selects the characters we need from @result !jUSt anOTH ER pERL HAcK eR
And the next map is giving the proper formating .
But there is one last thing that i didn't know here : in the first map, the value returned by the map function is what was matched in the regexp ! Now that's interesting !!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Crypto Japh
by liverpole (Monsignor) on Dec 06, 2005 at 18:14 UTC |