Что это за хеш / шифрование?'0E0B020601' - PullRequest
2 голосов
/ 20 июня 2011

Меня попросили спроектировать back-end в php для веб-приложения с ASP-интерфейсом. Поэтому я не могу по-настоящему выкопать эти ASP-файлы. У меня есть база данных MySQL - вот и все! Программист, который создал интерфейс, не отвечает.

Как мне это расшифровать? Или только это - «как называется этот метод шифрования?»

Хотя это выглядит как HEX.

Другой образец - 0E0800160E0330595D57

 0  1  2  3  4  5  6  7  8  9
0E 0B 02 06 01
0E 08 00 16 0E 03 30 59 5D 57

ОБНОВЛЕНИЕ - Когда я меняю свой пароль на "kachwa" (без кавычек), он обновляется как 040E0C07180E в базе данных.

1 Ответ

4 голосов
/ 21 июня 2011

Каждый байт xor'd с 0x6f.

Пример PHP-шифрования:

function enc($pass)
{
  $enc = '';
  for ($i = 0; $i < strlen($pass); ++$i)
    $enc .= sprintf("%02x", ord($pass[$i]) ^ 0x6f);

  return $enc;
}

echo enc("kachwa"),"\n";

Выход:

040e0c07180e

И ради полноты:

function dec($pass)
{
  $dec = '';
  foreach (str_split($pass, 2) as $hex)
    $dec .= chr(hexdec($hex) ^ 0x6f);
  return $dec;
}

echo dec("040e0c07180e"),"\n";
...