暗号化で、1バイトずつ(2バイト文字も上位下位バイトに分ける)を
20ヘキサ引いて、複合化時は20ヘキサ足すってのを作ったんだけど
完全にデコードされないんです。最後の方が化けたり・・・どこが変か教えてくださいです。
CGIっぽいけど許してね

#!/usr/local/bin/perl
use CGI;
$q = new CGI;
print $q->header('text/html; charset=euc-jp');
if( $q->param ){
  $n = $q->param('name');
  print "en=",&encode($n);
  print "<BR>";
  print "de=",&decode($n);
}
print $q->start_form, $q->textfield(-name=>'name'), $q->submit, $q->end_form;
sub endecode{
  my($name)=shift;
  my($diff)=shift;
  my(@w)=();
  my(@w2)=();
  @w = split(//,$name);
  for(@w){
    push(@w2,sprintf( "%c",ord($_)+$diff));
  }
  join("",@w2);
}