function BasicEncrypt($data, $encryptkey)
{
$EncryptLoopCount = 4;
$vals = MakeArray($data, true);
$keys = MakeArray($encryptkey, false);
$len = sizeof($vals);
$len2 = sizeof($keys);
for ($t = 0; $t < $EncryptLoopCount; $t++)
{
for ($i = 0; $i < $len; $i++)
{
$v = $vals[$i];
$im = ($v + $i) % 5;
for ($x = 0; $x < $len; $x++)
{
if ($x == $i)
continue;
if ($x % 5 != $im)
continue;
for ($y = 0; $y <$len2; $y++)
{
$k = $keys[$y];
if ($k == 0)
continue;
$vals[$x] += $v % $k;
}
}
}
}
return implode('-', $vals);
}
function MakeArray($str, $random)
{
$len = pow(2, floor(log(strlen($str), 2)) + 1) + 8;
if ($len < 32) $len = 32;
$arr = Array();
$strarr = str_split($str);
if ($random==true)
{
for ($i = 0; $i < $len; $i++)
$arr[] = ord($strarr[rand() % strlen($str)]);
$start = 1 + rand() % ($len - strlen($str) - 2);
for ($i = 0; $i < strlen($str); $i++)
$arr[$start + $i] = ord($strarr[$i]);
$arr[$start - 1] = 0;
$arr[$start + strlen($str)] = 0;
}
else
{
for ($i = 0; $i < $len; $i++)
$arr[] = ord($strarr[$i % strlen($str)]);
}
return $arr;
}