Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Как определить алгоритм кодирования числа?


Автор: 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
Цитата(Sartorius @ 30.10.2010,  09:51)
хеширование - по определению одностороннее преобразование, т.к. вырожденное.

PosiTive, декомпилируй swf. Она сохранилась-то?

да, сохранилась smile

В принципе идея интересная, сейчас попробую. Скорее всего это в ActionScript спрятано?

P.S: по поводу MD5 — скорее всего нет, ибо не было смысла шифровать координаты, да и насколько мне известно это необратимый метод, без возможности декодирования.

Автор: esperanto 31.10.2010, 09:28
В общем случае задача имеет бесконечное множество  решений и выбрать правильное невозможно.



Если я вас скажу разгадайте последовательность

1 1
2 2
3 4
4 8
5 16
6 ?

Вы скажите 32, а нет 31 - правильный ответ, ибо это количество матроидов определенного свойства на 6 элементах.  

Автор: maxim1000 31.10.2010, 09:39
Цитата(esperanto @  31.10.2010,  09:28 Найти цитируемый пост)
В общем случае задача имеет бесконечное множество  решений и выбрать правильное невозможно.

ну здесь-то не общий случай smile
есть конкретная область знаний (картография), есть основания предполагать, что специально формат не усложняли
это, как минимум, может дать какие-то гипотезы, и уже их (если повезёт) может оказаться достаточно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)