[web][bugku]
题目 decrypt
提 示: Flag:{xxx}
描 述: fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=
附 件: index.php
<?php
function encrypt($data,$key)
{
$key = md5('ISCC');
$x = 0;
$len = strlen($data);
$klen = strlen($key);
for ($i=0; $i < $len; $i++) {
if ($x == $klen)
{
$x = 0;
}
$char .= $key[$x];
$x+=1;
}
for ($i=0; $i < $len; $i++) {
$str .= chr((ord($data[$i]) + ord($char[$i])) % 128);
}
return base64_encode($str);
}
?>
过程
逆过程解码
<?php
function decrypt($str)
{
$str = base64_decode($str);
$key = md5('ISCC');
$x = 0;
$len = strlen($str);
$klen = strlen($key);
for ($i=0; $i < $len; $i++) {
if ($x == $klen)
{
$x = 0;
}
$char .= $key[$x];
$x+=1;
}
for ($i=0; $i < $len; $i++) {
for($j=0; $j < 4; $j++) {
$s = 128 * $j + ord($str[$i]) - ord($char[$i]);
if($s > 0 && $s < 256) {
$data .= chr($s);
break;
}
}
}
return $data;
}
$str = "fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=";
$data = decrypt($str);
echo $data;
?>