10 REM ************************ 20 REM Keystroke dynamics 30 REM Password editor 40 REM Developed by Tim Surtell 50 REM ************************ 60 REM NC100/200 Version 2 70 REM Downloaded from Tim's NC Users' Site 80 REM http://www.ncus.org.uk 90 DIM kd(3,20),pass(20) 100 CLS 110 thres=70 120 PRINTCHR$19"Keystroke dynamics password file generator"CHR$20 130 PRINT'"* Create password -- type in password three times..." 140 FORP=1 TO 3 150 PRINT'"Password ";P;" : "; 160 PROCenter_password(P) 170 NEXT 180 PRINT''"Calculating average keystroke intervals... " 190 FORI=1 TO kdpos-2 STEP 2 200 pass(I)=(kd(1,I)+kd(2,I)+kd(3,I)) DIV 3 210 pass(I+1)=kd(1,I+1) 220 NEXT 230 PRINT:FORI=1 TO kdpos-2 STEP 2:PRINT;pass(I);",";pass(I+1);" ";:NEXT 240 PRINT''"Password saved in 'PASSWORD.TXT'." 250 K=OPENOUT("PASSWORD.TXT") 260 FORI=1 TO kdpos-1 270 PRINT#K,pass(I) 280 NEXT 290 CLOSE#0 300 PRINT'"* Test password. Threshold is ";thres;"%..."' 310 PRINT"Type in your password : "; 320 PROCenter_password(0) 330 match=0 340 FORI=1 TO kdpos-2 STEP 2 350 IF kd(0,I)=pass(I) OR kd(0,I)-1=pass(I) OR kd(0,I)+1=pass(I) match=match+1 360 IF kd(0,I+1)<>pass(I+1) match=-1:I=kdpos-2 370 NEXT 380 IF match=-1 percent=0 ELSE percent=INT((match/((kdpos-1)/2))*100) 390 PRINTTAB(40)percent;"% -- Access ";:IF percent