情報のリストを保存する暗号化されたファイルを開き、情報を含む新しいIDを追加して、元の暗号化されたファイルを保存しようとしています。動作しているxor/base64関数がありますが、ファイルに古い情報を保持させるのに問題があります。
これが私が現在使用しているものです:
$key = 'some key here';
$id = $_GET['id'];
$group = $_GET['group'];
$file = "groups.log";
$fp = fopen($file, "w+");
$fs = file_get_contents($file);
$filedec = xorstr(base64_decode($fs),$key);
$info = "$id: $group";
$filedec = $filedec . "$info\n";
$reencode = base64_encode(xorstr($filedec,$key));
fwrite($fp, $reencode);
fclose($fp);
function xorstr($str, $key) {
$outText = '';
for($i=0;$i<strlen($str);)
{
for($j=0;$j<strlen($key);$j++,$i++)
{
$outText .= $str[$i] ^ $key[$j];
}
}
return $outText;
}
?>
IDとそれに対応するグループのリスト全体を保存する必要がありますが、何らかの理由で最後の入力のみが表示されます:(