Чтение онлайн

на главную - закладки

Жанры

Магнитные карты и ПК
Шрифт:

170 IF MID$(A$,F,1)="5" THEN C$*C$+"10101": GOTO 240

180 IF MID$(A$,F,1)="6" THEN C$=C$+"01101": GOTO 240

190 IF MID$(A$,F,1)="7" THEN C$=C$+"11100": GOTO 240

200 IF MID$(A$,F,1)="8" THEN C$=C$+"00010": GOTO 240

210 IF MID$(A$,F,1)="9" THEN C$=C$+"10011": GOTO 240

220 IF MID$(A$,F,1)=" {" THEN 370

230 PRINT: PRINT "Данные

не действительны (запрещенные СИМВОЛЫ)": ВЕЕР: END

240 NEXT F

250 IF LEN(C$)<=210 THEN 270

260 PRINT: PRINT "Данные слишком длинные (максимум 40 цифровых символов)": END

270 C$="0"+С$

280 IF LEN (C$) =240 THEN 320

290 C$=C$+"0"

300 IF LEN(C$)=240 THEN 320

310 GOTO 270

320 OPEN "carte.car" FOR OUTPUT AS #1

330 FOR F=1 TO LEN(C$)

340 PRINT#1,MID$(C$,F,1)+CHR$(32);

350 NEXT F

360 CLS: PRINT: PRINT "Файл CARTE.CAR готов": BEEP: END

500 IF MID$(A$,F,1)<>T THEN 230

510 GOTO 240

520 REM (c)1996 Patrick GUEULLE

Как и программа MAGWRITE, CREMAG предназначена для кодирования дорожки ISO 2 и, следовательно, будет обрабатывать только цифровые данные. Разделительные символы воспринимаются именно в том виде, в каком их отображает DEC5, то есть в фигурных скобках (а не в простых круглых скобках или кавычках).

Так, флажок старта будет записан как {start}, флажок конца как {end}, разделитель полей как {sep}.

Перейти на новую строку можно путем однократного нажатия на клавишу ENTER. Создание файла .CAR инициируется двукратным нажатием этой клавиши.

Количество кодируемых данных значения не имеет, если не превышается максимум, отведенный дорожке ISO 2. Нули заполнения автоматически записываются в начале и конце дорожки, чтобы отцентровать блок информационных битов.

ПРОГРАММА РАСЧЕТА КОНТРОЛЬНЫХ КЛЮЧЕЙ

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

Программа LUHN.BAS способна рассчитать эту дополнительную цифру вне зависимости от количества цифр (четного или нечетного)

номера, который требуется защитить.

10 REM — LUHN.BAS —

20 KEY OFF: CLS

30 CLEAR: PRINT: PRINT "Введите цифровые данные, которые требуют обеспечения безопасности": INPUT N$

40 L=LEN(N$): DIM N(L+1)

50 FOR F=1 TO L

60 C$=MID$(N$,F,1): C=VAL(C$): N(F)=C

70 NEXT F

80 IF (L/2) — INT(L/2) =0 THEN 200

90 T=0: FOR F=1 TO L STEP 2

100 C=2*N(F): IF C>=10 THEN C=C-9

110 T=T+C: NEXT F

120 FOR F=2 TO L-1 STEP 2

130 T=T+N(F): NEXT F

140 IF T>=10 THEN T=T-10: GOTO 140

150 N=10-T: IF N=10 THEN N=0

160 N(L+1)=N

170 CLS: FOR F=1 TO L+1

180 PRINT N(F);: NEXT F

190 PRINT: GOTO 30

200 T=0: FOR F=2 TO L STEP 2

210 C=2*N(F): IF C>=10 THEN C=C-9

220 T=T+C: NEXT F

230 FOR F=1 TO L-1 STEP 2

240 T=T+N(F):NEXT F

250 IF T>=10 THEN T=T-10: GOTO 250

260 N=10-T: IF N=10 THEN N=0

270 GOTO 160

280 REM (c)1996 Patrick GUEULLE

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

Это дает читателям возможность проверить (при повторном считывании) целостность данных, которые они закодировали на своих картах.

ПРОГРАММА РАСЧЕТА LRC

Символ LRC в принципе должен кодироваться после флажка end каждой дорожки вслед за проверкой нечетности и расчетом контрольного ключа с целью обеспечения последнего уровня безопасности.

Программа LRCMAG.BAS, как и CREMAG, ждет введения с помощью клавиатуры всех данных, начиная с флажка start и до флажка end включительно.

Поделиться:
Популярные книги

Как я строил магическую империю 3

Зубов Константин
3. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 3

Ритуал для призыва профессора

Лунёва Мария
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Ритуал для призыва профессора

Невеста снежного демона

Ардова Алиса
Зимний бал в академии
Фантастика:
фэнтези
6.80
рейтинг книги
Невеста снежного демона

Прорвемся, опера! Книга 3

Киров Никита
3. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 3

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар

Офицер Красной Армии

Поселягин Владимир Геннадьевич
2. Командир Красной Армии
Фантастика:
попаданцы
8.51
рейтинг книги
Офицер Красной Армии

Волхв пятого разряда

Дроздов Анатолий Федорович
2. Ледащий
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Волхв пятого разряда

Вамп

Парсиев Дмитрий
3. История одного эволюционера
Фантастика:
рпг
городское фэнтези
постапокалипсис
5.00
рейтинг книги
Вамп

Младший сын князя. Том 3

Ткачев Андрей Юрьевич
3. Аналитик
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Младший сын князя. Том 3

Шахта Шепчущих Глубин, Том II

Астахов Евгений Евгеньевич
3. Виашерон
Фантастика:
фэнтези
7.19
рейтинг книги
Шахта Шепчущих Глубин, Том II

Наследник пепла. Книга I

Дубов Дмитрий
1. Пламя и месть
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наследник пепла. Книга I

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9