@Tosha1337

Как узнать что за кодировка?

Подскажите, может кто знает в какой кодировке эти числа?
В инете декодеры не выдают нужной информации...
5492216569 = *UdckvmD
5640910965 = *VA5eHVT
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Каждая цифра имеет 10 вариантов (от 0 до 9).

Каждая буква имеет чуть больше вариантов, в зависимости от алфавита (a-zA-Z это 52 варианта, но некоторые буквы могут быть специально исключены по каким-то соображениями). А если это символ, который может быть как буквой, так и цифрой, то вариантов ещё больше (например, 62). В кодировке base64 добавляются ещё пара символов, чтобы было круглое число 64, хотя реально там чуть сложнее.

Количество вариантов - это условно мера информации, которую можно запихнуть в символ (или в строку соответственно).

Для строки количество вариантов можно посчитать перемножением для каждого символа. Например, строка из двух цифр (от 00 до 99) - это 100 вариантов (10*10). Три цифры - 1000 вариантов и так далее. Аналогично с буквенно-цифирным алфавитом. Набор из двух таких символов - это 62*62 = 3844 варианта. Здесь уже чётко видно, что три цифры можно перевести в два символа без потери информации.
То есть NNN ----> CC, где N - цифра, C - буква или цифры, с учётом регистра.
То есть символов нужно меньше, чем цифр.

Как именно происходит кодирование, сказать сложно. Самый простой вариант - это воспринимать цифирную последовательность, как число, и далее работать с числом. Делается это примерно так (алгоритм на пальцах):
1) Делим число на 62.
Остаток от деления - это номер буквы в алфавите, выбираем эту букву. Результат деления без остатка переходит как число для следующего шага.
2) Делим (получившееся) число на 62.
Остаток от деления - это номер следующей буквы, которая плюсуется к предыдущей.
3) И так далее.
Так происходит кодирование, в результате которого формируется строка из букв.

Обратное кодирование примерно такое же, только все шаги в обратную сторону делаются.

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

...Либо заниматься хакерством - пытаться подобрать алгоритм кодирования.

Наконец, в кодирование для более полной защиты может быть также встроено некое простое шифрование. Например, это могут быть какие-то перестановки, какое-то перемешивание или преобразования по определённом обратимому алгоритму. Здесь опять же нужно либо иметь доступ к документации, либо "взламывать" кодирование. В общем, всё зависит от того, хотят ли разработчики кода, чтобы вы понимали принцип его работы или нет. Если нет, то остаётся только второе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы