Did you know you could evaluate a polynomial over GF(128) in perl with pack and unpack and tr? Here's how.
sub h {
$_ = $_[0] = pack b208, 0 . unpack b362, $_[0];
tr/\0-\c?/\0/;
tr/\0/\377/c;
$_
}
for (split //, "k6sNP2B}({ambrusLB%Ox)Z]n0*zf\0I3") {
$y = $r;
$v = join $r = '', a .. z;
$r ^= h($r) & "\217" x 26 ^ h($v) & $y for 0 .. 6;
$r ^= $_ x 26;
}
print $r;
This code is based on the same idea as Dollar Plus, but written in a different style, so some of the credit goes to martin.
Update: if you prefer one of these unreadable blocks of code, you can of course write this that way too (Update: reformatted blob from four lines to three.)
sub h($){($_=$_[0]=pack b208,0 .unpack b362,$_[0])=~tr/\0-\c?/\0/;tr
/\0/\377/c;$_}do{$y=$r;$v=join$r='',a..z;$r^=h$r&"\217"x26^h$v&$y for
0..6;$r^=$_ x26}for"k6sNP2B}({ambrusLB%Ox)Z]n0*zf\0I3"=~/./g;print$r
Update: removed lots of spaces from end of lines of formatted code.