Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Сколько всего люди делали ради бесплатных звонков. С сегодняшними ценами на связь проще и дешевле просто позвонить с какого-нибудь скайпа.
Как уже говорилось, из 10 цифр номера первые 4 выражают емкость карты. Оставшиеся 6 не идентифицируют карту однозначно, т.к. уже выпущено более миллиона карт. Всего при подобной системе нумерации может существовать 6 миллионов карт:
* На 25 единиц с номерами от 0025000000 вплоть до 0025999999
* На 50 единиц с номерами от 0050000000 вплоть до 0050999999
* На 100 единиц с номерами от 0100000000 вплоть до 0100999999
* На 200 единиц с номерами от 0200000000 вплоть до 0200999999
* На 400 единиц с номерами от 0400000000 вплоть до 0400999999
* На 1000 единиц с номерами от 1000000000 вплоть до 1000999999
3. Следующие 5 байт — число единиц, оставшихся на карточке. Формат хранения очень интересный: используется количество единичных битов в байте, начиная с младшего. Соответственно значение байта 07 соответствует 3 единицам, значение 1F — пяти, а 7F — семи единицам. Максимальное количество единиц, хранящихся в байте — семь. Соответственно используется восьмеричная система счисления. Таким образом, байты 00, 01, 7F, 0F, 3F соответствуют 01746 в восьмеричной системе или 998 единиц в десятичной системе. Максимальное число единиц может выражаться числом 77777 в восьмеричной либо 32767 в десятичной системе.
5. Два последних байта, по-видимому, выражают CRC либо другой контрольный код для первых 8 постоянных байт, т.к. при расходовании единиц они не меняются, но на
каждой карточке они свои. Пока что их назначение никак не ясно. Обнаружилось, что срок годности никак не записан на карте. По всей видимости, он как-то связан с номером карты.
Возможно, каждому сроку годности соответствуют определенный диапазон номеров.
Недра таксофона