Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Как определить алгоритм кодирования числа? |
Автор: PosiTive 30.10.2010, 08:29 |
Здравствуйте! У меня есть база координат городов России, которая использовалась раньше на одном из ресурсов. После его закрытия, я решил возобновить работу, но наткнулся на то, что все координаты в базе храняться в каком-то преобразовании. Поля в базе данных назваются ByteLatitude (Широта) и ByteLongitude (долгота). Все эти координаты раньше передавались flash-приложению, в исходном виде и по ним он строил маршрут на карте Google Maps. Вот примеры координат некоторых городов: Москва ByteLatitude=bf48be07835d8b1de6b27dce950d3d0d ByteLongitude=000bf2d5f676ee31711219b501443daa Владимир ByteLatitude=961840319a795a78caab36856bb76af0 ByteLongitude=e2487eae7b8e87c6b77d814747d9850e Челябинск ByteLatitude=3e36c1b673d275b77187684e49063c55 ByteLongitude=0c4a5234e3f61b01cbd4b770fba33b82 Пробовал переводить их как из шестнадцетеричной системы, переводить в двоичную и конвертировать через IEEE754 и пару других способов, но все время получаются какие-то очень невнятные цифры. По идее здесь должны храниться координаты в виде числа с плавающей точкой в диапазоне от 10.000000 до 80.00000. У меня же получались отрицательные числа, причем гораздо меньше (1-5). Есть идеи как могут быть запакованы числа? Заранее спасибо! |
Автор: bspsound 30.10.2010, 09:36 |
Здравтсвуйте) Если я правильно понимаю, ваши географические координаты захешированы с помощью MD5. Возможно, то flash приложение хранило ключ для распаковки этих данных. Во всяком случае без ключа распаковка невозможна. |
Автор: Sartorius 30.10.2010, 09:51 |
хеширование - по определению одностороннее преобразование, т.к. вырожденное. PosiTive, декомпилируй swf. Она сохранилась-то? |
Автор: PosiTive 30.10.2010, 10:35 | ||
да, сохранилась ![]() В принципе идея интересная, сейчас попробую. Скорее всего это в ActionScript спрятано? P.S: по поводу MD5 — скорее всего нет, ибо не было смысла шифровать координаты, да и насколько мне известно это необратимый метод, без возможности декодирования. |
Автор: esperanto 31.10.2010, 09:28 |
В общем случае задача имеет бесконечное множество решений и выбрать правильное невозможно. Если я вас скажу разгадайте последовательность 1 1 2 2 3 4 4 8 5 16 6 ? Вы скажите 32, а нет 31 - правильный ответ, ибо это количество матроидов определенного свойства на 6 элементах. |