$key = "これは秘密鍵であるはずです !!!";
ファンクションキーED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = "";
for ($i=0;$i
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr ;
}
return $tmp;
}
function encrypt($txt,$key)
{
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$i
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) 。
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr ;
}
return keyED($tmp,$key);
}
関数 decrypt($txt,$key)
{
$txt = keyED($txt,$key);
$tmp = "";
for ($i=0;$i
$md5 = substr($txt,$i,1);
$i ;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
$string = "Hello World !!!";
// $string を暗号化し、$enc_text に保存します
$enc_text = encrypt($string,$key);
// 暗号化テキスト $enc_text を復号し、$dec_text に保存します
$dec_text = decrypt($enc_text,$key);
print "元のテキスト : $string
n";
print "暗号化されたテキスト : $enc_text
n";
print "復号化されたテキスト : $dec_text
n";
?>