sub file_algorithm { use Digest::MD5 qw(md5); return unpack('H*',reverse(substr(md5(reverse(shift) xor '")§$/$00§"9&?4?+'),0,5))); }