1. Особенности магнитной записи
Принцип магнитной записи ничем не отличается от принятого в звукозаписи. Для его реализации подходит звуковая аппаратура. Стирание можно делать постоянным магнитом с пластиной — концентратором магнитного потока. Хотя при таком стирании велик уровень шумов, для цифрового считывания это не важно. Запись производят без подмагничивания постояныым или ВЧ током, так даже достигаются более резкие переходы намагниченности носителя. Для изготовления магнитной полоски самодельных карточек подойдет старая 5 » дискета на 360 Кб, имеющая слой с низкой коэрцитивностью.
Кодирование данных осуществляется общепринятым методом «без возврата к нулю», который исключает длинные участки постоянной намагниченности, что облегчает синхроннизацию при считывании.
Усиленный выходной сигнал с читающей головки проходит 2-хпороговый компаратор, формирующий ВЫСОКИЙ и НИЗКИЙ логичекие уровни. Цифровые данные поступают на стандартный последовательный интерфейс (типа RS-232), передающий данные на обработку компьютеру.
На рисунке видно, что если в момент синхро-отсчета уровень сигнала НЕ меняется, то он считается равным НУЛЮ, а если сигнал имеет перепад, то ЕДИНИЦЕ.
2. Физический стандарт записи
Расположение дорожек на карточке показывает рисунок:
Если карточку расположить магнитной полоской к себе, так, чтобы полоска была снизу карточки, то данные записаны слева направо.
3. Форматы кодирования данных
** Формат данных ANSI/ISO BCD **
Этот вариант кодирования имеет длину слова в 5 бит. Первые четыре бита — данные, a 5-й — бит четности. Cумма всех пяти битов должна давать НЕчетное число. Младший бит b1 считывается первым в серии.
b1
b2
b3
b4
b5
Символ
Значение
0
0
0
0
1
0 (0H)
Цифра
1
0
0
0
0
1 (1H)
»
0
1
0
0
0
2 (2H)
»
1
1
0
0
1
3 (3H)
»
0
0
1
0
0
4 (4H)
»
1
0
1
0
1
5 (5H)
»
0
1
1
0
1
6 (6H)
»
1
1
1
0
0
7 (7H)
»
0
0
0
1
0
8 (8H)
»
1
0
0
1
1
9 (9H)
»
0
1
0
1
1
: (AH)
Управление
1
1
0
1
0
; (BH)
Начало последовательности
0
0
1
1
1
< (CH)
Управление
1
0
1
1
0
= (DH)
Разделитель полей
0
1
1
1
0
> (EH)
Управление
1
1
1
1
1
? (FH)
Конец последовательности
** Формат данных ANSI/ISO буквенный**
Этот формат (буквенно-цифровой) содержит определения 64 символов, при 7-битном кодировании, 6 значащих битах, и седьмом бите четности, как и в предыдущем формате. Младший бит b1 считывается первым.
b1
b2
b3
b4
b5
b6
b7
Символ
Значение
0
0
0
0
0
0
1
space (0H)
Специальный
1
0
0
0
0
0
0
! (1H)
»
0
1
0
0
0
0
0
» (2H)
»
1
1
0
0
0
0
1
# (3H)
»
0
0
1
0
0
0
0
$ (4H)
»
1
0
1
0
0
0
1
% (5H)
Начало последовательности
0
1
1
0
0
0
1
& (6H)
Специальный
1
1
1
0
0
0
0
‘ (7H)
»
0
0
0
1
0
0
0
( (8H)
»
1
0
0
1
0
0
1
) (9H)
»
0
1
0
1
0
0
1
* (AH)
»
1
1
0
1
0
0
0
+ (BH)
»
0
0
1
1
0
0
1
, (CH)
»
1
0
1
1
0
0
0
— (DH)
»
0
1
1
1
0
0
0
. (EH)
»
1
1
1
1
0
0
1
/ (FH)
»
0
0
0
0
1
0
0
0 (10H)
Данные (цифры)
1
0
0
0
1
0
1
1 (11H)
»
0
1
0
0
1
0
1
2 (12H)
»
1
1
0
0
1
0
0
3 (13H)
»
0
0
1
0
1
0
1
4 (14H)
»
1
0
1
0
1
0
0
5 (15H)
»
0
1
1
0
1
0
0
6 (16H)
»
1
1
1
0
1
0
1
7 (17H)
»
0
0
0
1
1
0
1
8 (18H)
»
1
0
0
1
1
0
0
9 (19H)
»
0
1
0
1
1
0
0
: (1AH)
Специальный
1
1
0
1
1
0
1
; (1BH)
»
0
0
1
1
1
0
0
< (1CH)
»
1
0
1
1
1
0
1
= (1DH)
»
0
1
1
1
1
0
1
> (1EH)
»
1
1
1
1
1
0
0
? (1FH)
Конец пос-ти
0
0
0
0
0
1
0
@ (20H)
Специальный
1
0
0
0
0
1
1
A (21H)
Данные (буквы)
0
1
0
0
0
1
1
B (22H)
»
1
1
0
0
0
1
0
C (23H)
»
0
0
1
0
0
1
1
D (24H)
»
1
0
1
0
0
1
0
E (25H)
»
0
1
1
0
0
1
0
F (26H)
»
1
1
1
0
0
1
1
G (27H)
»
0
0
0
1
0
1
1
H (28H)
»
1
0
0
1
0
1
0
I (29H)
»
0
1
0
1
0
1
0
J (2AH)
»
1
1
0
1
0
1
1
K (2BH)
»
0
0
1
1
0
1
0
L (2CH)
»
1
0
1
1
0
1
1
M (2DH)
»
0
1
1
1
0
1
1
N (2EH)
»
1
1
1
1
0
1
0
O (2FH)
»
0
0
0
0
1
1
1
P (30H)
»
1
0
0
0
1
1
0
Q (31H)
»
0
1
0
0
1
1
0
R (32H)
»
1
1
0
0
1
1
1
S (33H)
»
0
0
1
0
1
1
0
T (34H)
»
1
0
1
0
1
1
1
U (35H)
»
0
1
1
0
1
1
1
V (36H)
»
1
1
1
0
1
1
0
W (37H)
»
0
0
0
1
1
1
0
X (38H)
»
1
0
0
1
1
1
1
Y (39H)
»
0
1
0
1
1
1
1
Z (3AH)
»
1
1
0
1
1
1
0
[ (3BH)
Специальный
0
0
1
1
1
1
1
(3DH)
Специальный
1
0
1
1
1
1
0
] (3EH)
Специальный
0
1
1
1
1
1
0
^ (3FH)
Разделитель полей
1
1
1
1
1
1
1
_ (40H)
Специальный
4. Форматы записи дорожек
Запись на дорожке начинается с серии нулей (сигналов «НИЗКОГО» уровня, а не символов), число которых бывает разным, но не менне шестнадцати. Этот форвард служит для синхронизации такта считывателя. Далее записывается информация в формате, в зависимости от номера дорожки, как показывает таблица:
Дорожка ј1
НП
КФ
НПС
Имя
РП
Доп. данные
КП
LRC
Дорожка ј2
НП
НПС
РП
Доп. данные
КП
LRC
Дорожка ј3
подобно дорожкам 1 и 2. В большинстве случаев не используется.
НП
Начало Последовательности
КФ
Код Формата
НПС
Номер Первичного Cчета (19 цифр макс)
РП
Разделитель Полей
Имя
(макс. 26 знаков)
Доп. данные
дата истечения, код шифра и т. п.
КП
Конец Последовательности
LRC
Код контроля четности
Формат кодирования по разным дорожкам и плотность записи различна и соответствует таблице:
Дорожка
Плотность
Формат
Кол-во
символов
1
210 bpi
букв-цифр
79
2
75 bpi
BCD
40
3
210 bpi
BCD
107
Кодирование управляющих символов в соответствии со стандартом каждой дорожки.
Завершает запись дорожки такая же, как в начале, последовательность нулей.
5. Примеры записанного на карточках
Номер на лицевой стороне карточки: 1111 2222 3333 4444
Срок действия до: 12 / 99
-=Mastercard=- Track 2 (BCD, 75 bpi)-> ;1111222233334444=99121010000000000000? Ttrack 1 (ALPHA, 210 bpi)-> %B1111222233334444^PUBLIC/JOHN? * примеч.: «101» встречается на большинстве провереных карточек, также как и «В».
-=VISA=- T2 (BCD,75 bpi)-> ;1111222233334444=9912101xxxxxxxxxxxxx? T1 (ALPHA,210 bpi)-> %B1111222233334444^PUBLIC/JOHN^9912101xxxxxxxxxxxxx? * примеч.: 101 и В см выше. Также, ххх разные от карте к карте, и могут означать закодированный номер счета, в любом случае, я нашел 13 цифр номера счета.
-=Discover=- T2 (BCD,75 bpi)-> ;1111222233334444=991210100000? T1 (ALPHA,210 bpi)-> %B1111222233334444^PUBLIC/JOHN___^991210100000? * примеч.: «10100000» и «B» и иногда встречается «10110000».Подчерки после имени JOHN означают, что имя дополняется до 26 символов ПРОБЕЛАМИ.
-=US Sprint FON=- Номер карточки -> 111 222 3333 4444 Track 2 (BCD,75 bpi)-> ;xxxxxx11122233339==xxx4444xxxxxxxxxx=? Track 1 (ALPHA,210 bpi)-> %B^ /^^xxxxxxxxxxxxxxxxx? * такое впечатление, что 1 дорожка не используется.
-=Fleet Bank=- Номер карточки -> 111111 222 3333333 T2-> ;1111112223333333=9912120100000000xxxx? T1-> %B1111112223333333^PUBLIC/JOHN___^9912120100000000000000xxxx000000? * данные «xxxх» варьируют. это закодированное PIN смещение. Всегда 4 цифры (хммм…). «1201» всегда одни и те-же… Даже в карточках из разных банков.