Folosind un scaner de amprente în aplicațiile Windows, blogul echipei dv

Dat fiind: o mică aplicație Windows .NET cu până la 5 utilizatori
Este necesar: pentru a introduce aplicația în locul introducerii parolei tradiționale, utilizați un scaner pentru amprente digitale







Un pic de teorie

În general, nu este nimic dificil să folosiți un scaner pentru amprente digitale. În primul rând, aplicația scanează una sau mai multe amprente digitale și evidențiază unele caracteristici ale desenului. Pe viitor, aceste informații vă permit să verificați dacă persoana încearcă să scaneze un deget care a furnizat amprente digitale sau altcineva. Procesul de obținere a amprentelor se numește Inscriere. Procesul Verificarea ulterioară a verificării amprentelor digitale. Procedura pentru găsirea unui utilizator prin amprentele sale este identificarea. Din moment ce procesul de validare al utilizatorului nu poate da un răspuns clar dacă este într-adevăr același utilizator avem nevoie de o anumită valoare, numărul de puncte care indică cât de probabil este eroarea în identificarea utilizatorului (MatchingThreshold, score).

Să mergem mai departe să practicăm

Producătorii de scanere oferă de obicei SDK, permițându-vă să lucrați cu dispozitivele lor. Dar, din păcate, aceste SDK-uri merită o mulțime de bani (

$ 1000). Interesant, pentru lucrul cu Linux, există adesea versiuni gratuite ale SDK-ului, spre deosebire de bibliotecile din Windows. Există soluții de la terțe părți care vă permit să utilizați mai multe dispozitive cu același SDK, dar pentru fiecare scaner particular trebuie să vedeți dacă este acceptat. Prețul soluțiilor terță parte este comparabil cu prețul produsului SDK de la producătorii de dispozitive. Cu toate acestea, există o soluție gratuită care funcționează în Windows de la neurotechnology.com. Anume SDK de verificare a amprentelor digitale gratuite. În această bibliotecă gratuită nu este fără limitări. Există doar o versiune care funcționează cu sisteme de operare pe 32 de biți de la Microsoft. Datele utilizatorilor sunt stocate numai într-un format special furnizat de producător. Puteți salva date pentru maximum 10 copii. Identificarea nu este acceptată. După cum puteți vedea, restricțiile sunt destul de stricte, dar în funcție de condițiile problemei, acest lucru este suficient pentru noi (vom presupune că avem un Windows pe 32 de biți). În versiunea completă, toate aceste restricții sunt eliminate - funcționează în orice sistem de operare, salvează datele despre amprentele din orice bază de date. Dar prețul va fi de aproximativ 1000 $ ...

Destul de cuvintele, să începem

Vom începe un pic mai târziu, mai întâi trebuie să descărcați distribuția FFV SDK de pe site-ul web Neurotechnology prin acest link. Dimensiunea fișierului este destul de mare, 140 mb. În plus față de fișierele SDK actuale (pentru mai multe limbi de programare populare, inclusiv .NET), există, de asemenea, un set de drivere pentru un număr mare de scanere de la diferiți producători. Am folosit scanerul UIKK Eikon. De multe ori un scaner de amprente digitale este integrat în carcasa notebookului, acest scanner este, de asemenea, destul de potrivit pentru utilizare. Înainte de a începe să experimentați cu SDK, asigurați-vă că pe computer nu rulează aplicații care rulează pe scaner. De exemplu, în cazul meu, Protector Suite, care este furnizat de producătorul de hardware, nu a permis ca aplicația de test să funcționeze corect. Când încercați să accesați scanerul, a apărut un conflict și ambele aplicații au fost închise cu o eroare. Pentru a verifica dacă scanerul este, de fapt susținut și pentru a confirma lucrările SDK, executați exemplul atașat de dosar FreeFingerprintVerificationSDK \ bin \ Win32_x86 \ CSharpSample.exe. Selectați scanerul în fereastra care se deschide cu o listă de hardware acceptat.

Folosind un scaner de amprente în aplicațiile Windows, blogul echipei dv






Acordați atenție câmpurilor de introducere din partea de jos a formularului. Primul câmp (baza de date a amprentelor digitale) este utilizat pentru a specifica numele fișierului, în care vor fi stocate informații despre amprentele scanate.
Al doilea câmp (parolă) vă permite să închideți datele salvate cu o parolă (care a oprit-o 🙂)
Cel de-al treilea câmp (baza de date pentru utilizatori) conține numele fișierului, în care sunt salvate câteva informații suplimentare despre utilizator, de exemplu numele acestuia etc.

După selectarea scanerului, mergem la fereastra principală a aplicației.

Folosind un scaner de amprente în aplicațiile Windows, blogul echipei dv
După cum puteți vedea, aplicația acceptă operațiile de bază prezentate în SDK: Enroll, Verify, Delete. Partea dreaptă a ecranului conține o listă de utilizatori înregistrați în program.

În plus, puteți să ștergeți complet baza de date (bază de date clară) sau să setați parametrii de recunoaștere (numărul de puncte care trebuie introduse pentru a recunoaște conformitatea parametrilor săi cu un anumit utilizator)

Și așa arată fereastra programului după o scanare a amprentelor digitale

Folosind un scaner de amprente în aplicațiile Windows, blogul echipei dv

Setul necesar de fișiere din aplicația .NET

Pentru funcționarea normală a aplicației, trebuie să copiați două fișiere în folderul aplicației executabile: NffvServer.exe și Nffv.dll. În plus, trebuie să adăugați mai multe fișiere specifice hardware-ului dvs. în directorul fpsmm (relativ la fișierul executabil). Lista acestor fișiere poate fi găsită în documentația furnizată în SDK sau puteți folosi utilitarul din folderul redistribuibil, care va copia toate fișierele necesare în dosarul specificat de dvs.
Exemplu: FFVSDKRedistributable.exe / DOTNET / Eikon / D = c: \ temp

Metode cheie SDK

Acest SDK conține doar câteva metode pe care le putem folosi pentru a lucra cu datele utilizatorului.

Prima metodă inițializează scanerul

Setări apel: numele de fișier al utilizatorului care parola pe numele de fișier al plugin-ului pentru scanner (pentru lista completă a plugin-uri pot fi obținute prin apelarea

Metoda de a apela Enroll

Variabila stat va stoca rezultatul operației. Dacă stat == NffvStatus.TemplateCreated, totul a mers bine și variabila utilizator stochează datele utilizatorului. Cel mai important domeniu este user.ID. Îl putem aminti și îl putem folosi undeva în baza noastră de date.

Pentru validarea ulterioară a utilizatorului este necesar să se solicite astfel de metode:

Dacă stat == NffvStatus.TemplateCreated, scanarea amprentelor digitale și verificarea utilizatorului sunt normale. Câmpul de scoruri conține numărul de puncte pe care le-a introdus utilizatorul în timpul verificării. O valoare nulă este considerată o verificare nereușită. Valori mai mari decât zero înseamnă că verificarea este trecută. Pragul la care verificarea trebuie să fie considerată de succes este stabilită de dvs. Experiența mea a arătat că scorul> 35-40 poate fi deja considerat suficient. Producătorii recomandă utilizarea valorilor de la 48 și mai mult

Pentru a elimina un utilizator din baza de date, trebuie să îl eliminați din colecția utilizatorului

(abordare nu foarte convenabilă, dar nimic altceva nu este propus)

Curățarea completă a bazei de date se realizează în consecință:

Pentru a opri operațiunile cu scanerul, puteți utiliza metoda _engine.Cancel (); Metoda de apelare oprește imediat operația și continuă să execute fluxul de lucru cu scanerul.

Vreau să observ că toate metodele descrise mai sus sunt sincrone, deci trebuie să folosiți un fir separat pentru a lucra cu ele pentru a nu bloca lucrarea firului principal. Codul sursă pentru exemplu este dat în SDK, unde puteți vedea implementarea lucrării într-un fir separat.

Un lucru mai mult - atunci când aplicația SDK este inițializată, aceasta duce imediat scanerul la modul exclusiv. Acest lucru este clar vizibil pe indicatorul de pe corpul scanerului - dacă la începutul aplicației indicatorul se aprinde - totul este bine, toate bibliotecile necesare sunt încărcate, aparatul este găsit și gata de plecare.

concluzie

Navigare după înregistrări

Foarte interesant, voi încerca cu laptopul meu. Aș dori mai mult cod sursă al exemplului dvs.

Codurile sursă sunt în SDK, cred că nu are rost să le răspândești ... sau este acolo? Fără SDK, cred că sunt inutile.

Nu văd persistent scanerul meu. Winda spune că acesta este AuthenTec Inc. AES2501A.
Este păcat, dar am vrut să mă răsfăț.

În general, AES2501A nu este listat în lista scanerelor acceptate ... dar aș încerca
1. Verificați dacă există nu blochează orice aplicație scaner (spune o aplicație nativă de la Tec Inc. autenticitate), este posibil să dezinstalați.
2. Puneți șoferul din SDK și verificați-l.
3. Mai atenți la pick-up-urile modulului descărcat - unele conflicte între ele

Mulțumesc! Recent, de asemenea, nevoia (sau, mai degrabă, mi-am dat seama că, dacă va fi, nu va fi un exces) într-o astfel de autentificare.
Rămâne să cumpărați un scaner și să jucați.

Informațiile sunt depășite: acum există VeriFinger 7.1 Standard SDK este un program scaner de amprente digitale universal - suportă o mulțime de hardware și x64 bit Win 8.1, Win 10.







Articole similare

Trimiteți-le prietenilor: