Шрифт:
20 KEY OFF: CLS
30 PRINT "имя файла, подлежащего проверке";
40 INPUT N$: IF N$ = "" THEN END
50 FOR F=1 TO LEN (N$)
60 IF MID$ (N$,F,1) = "." THEN 90
70 NEXT F
80 N$=N$+".CAR"
90 OPEN N$ FOR INPUT AS #1
100 PRINT: PRINT "имя эталонного файла";
110 INPUT N$: IF N$="" THEN END
120 FOR F=1 TO LEN(N$)
130 IF MID$ (N$,F,1)="." THEN 160
140 NEXT F
150 N$=N$+".CAR"
160 OPEN N$ FOR INPUT AS #2
170 CLS: PRINT "идет проверка…"
180 DIM A(LOF(1)): DIM B(LOF<2))
190 F=0: WHILE NOT EOF(1)
200 INPUT#1, A (F); F=F+1: WEND
210 M=F
220 F=0: WHILE NOT EOF(2)
230 INPUT#2,B(F): F=F+1: WEND
240 N=F
250 X=0
260 IF A(X) =1 THEN 280
270 X=X+1: GOTO 260
280 Y=0
290 IF В (Y) = 1 THEN 310
300 Y = Y+1: GOTO 290
310 CLS: PRINT "0…….0";: E=0
320 IF A(X) =B(Y) THEN PRINT "-"; ELSE PRINT "*";: E=1
330 IF X=M THEN 360 ELSE X=X+1
340 IF Y=N THEN 360 ELSE Y=Y+1
350 GOTO 320
360 PRINT" 0 0": PRINT: PRINT: PRINT "Файл"
370 IF E=0 THEN PRINT "соответствует!": PRINT: PRINT: END
380 PRINT "не соответствует!": PRINT: PRINT: BEEP: END
390 REM COPYRIGHT (c)1996 Patrick GUEULLE
Ниже представлен результат, полученный при сравнении явно различных файлов TEST5.CAR И TEST7.CAR.
Теперь покажем результат, полученный при сравнении двух идентичных файлов. В обоих случаях отчет обязательно появляется по окончании выполнения программы.
4. Копирование, кодирование, стирание
В этой главе мы затронем тему, которую некоторые считают запретной. Общеизвестно, что магнитные карты по своей природе — носители информации с совершенно свободным доступом для считывания и записи. Предполагается, что устройства кодирования не должны оказаться в руках любого желающего, но, несмотря на это, мы собираемся рассказать, как построить их наипростейшим способом.
Естественно, мы позволили себе заняться этой темой только после того, как убедились, что подобное действие не потребует доступа к конфиденциальной информации или использования компонентов, запрещенных к продаже или хранению.
В конце концов, мы уже поступали так несколько лет назад, когда взялись обучить наших читателей считывать и записывать информацию на чип-карты.
С другой стороны, мы решительно не можем согласиться, что так называемые важные приложения настолько уязвимы, что любой дилетант способен взломать их с помощью простой магнитофонной головки, подключенной к ПК. Если бы это было так, все секреты уже давно стали бы общим достоянием.
Хотя это мнение широко распространено (и не без оснований), ответ на него отрицательный. В самом деле, на рынке встречаются считывающие и записывающие устройства (кодеры), работающие при проведении карты вручную. При этом в них используются некоторые технические хитрости, которыми не запрещено воспользоваться и нам.
Автоматизированная версия, бесспорно, имеет то преимущество, что обеспечивает постоянную и точную скорость прохождения карты перед записывающей головкой. Однако можно получить сравнимый результат и при помощи простого датчика, способного постоянно улавливать точное положение карты.