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;
}