Foros del Web » Programando para Internet » PHP »

Lector huellas

Estas en el tema de Lector huellas en el foro de PHP en Foros del Web. Tenemos una aplicación web montada en localhost, algo así como una intranet, en donde los empleados pueden iniciar sesión con su número de DNI y ...
  #1 (permalink)  
Antiguo 27/12/2018, 03:57
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 155
Antigüedad: 8 años, 11 meses
Puntos: 8
Pregunta Lector huellas

Tenemos una aplicación web montada en localhost, algo así como una intranet, en donde los empleados pueden iniciar sesión con su número de DNI y contraseña. En esta aplicación web es donde los empleados pueden consultar sus nominas, asi como otros documentos de normativas internas...etc. La web esta desarrollada en PHP + HTML + MySQL.

Queremos aumentar la seguridad de esta plataforma mediante un sistema de huella digital, para que de esta forma asegurar que nadie pueda entrar por otra persona.

Por lo tanto la idea es poder implementar un sistema de huella digital en donde habría que en primer lugar registrar a los empleados sus huellas.... y después, que puedan iniciar sesión con su huella en la web.
Entiendo que cuando registras un usuario, tendremos que almacenar su "has" o "template" de huella en nuestra base de datos, para que posteriormente cuando inician sesión poder "cruzar las huellas" para validar el acceso.

¿Sabéis si existe algún lector de huellas con el que pueda hacer esto? ¿Que pueda integrarlo con mi sitio web?
__________________
Follow me on twitter @franbedia
  #2 (permalink)  
Antiguo 27/12/2018, 07:41
 
Fecha de Ingreso: abril-2006
Mensajes: 258
Antigüedad: 13 años, 2 meses
Puntos: 39
Respuesta: Lector huellas

bueno el tema es algo escaso, pero sabia que hace años estaba implementandose sistemas biometricos al standar html5 aca hay un enlace interesante

https://jomutech.com/html5webbiometricfingermodule.php

y en lo posible es un tema interesante, en el cual seria muy util si vas comentando las soluciones y aplicaciones que le estas dando, los inconvenientes encontrados y similares
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.me/pools/c/87BTML2gwr
  #3 (permalink)  
Antiguo 27/12/2018, 13:36
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 960
Antigüedad: 6 años, 8 meses
Puntos: 110
Respuesta: Lector huellas

Dos opciones:

1. Compra un software y lector de huellas para ello
2. Si sabes de electrónica crea tu propio lector y software para lectura de huellas

Consulta antes de irme, ¿Sabes como se lee una huella digital? Pregunto para ver si no pretendes correr antes de aprender a caminar
  #4 (permalink)  
Antiguo 31/12/2018, 03:17
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 155
Antigüedad: 8 años, 11 meses
Puntos: 8
Respuesta: Lector huellas

Vamos a ver, alvaro_trewhela, creo que he sido bastante claro con la pregunta y tu respuesta no viene a cuenta para nada. Agradezco tu interes, pero si no sabes del tema creo que es mejor no digas nada.. y evidentemente lo que busco se asemeja a la "opción 1".

Yo ya he trabajado con anterioridad con aparatos de lector de huella, por ejemplo en mi empresa implemente uno para los fichajes con TimeMoto / Safescan. Sin embargo, con todos los sistemas con los que he trabajado ya contaban con un "software" y simplemente basta con conectar el lector de huellas a la red e instalar el software. Entonces desde el software pulsas sobre "Dispositivos -> Agregar dispositivo" y ya te detecta en la red el lector... y lo configuras. Después todo el proceso de obtención de huellas, registro, etc... se hace en el propio software.

Sin embargo, en este caso es distinto, ya que lo que necesito es un lector de huellas al que yo poder conectarme desde mi propia aplicación.
Para esto, el lector debe contar con un SDK / API, de tal forma que una vez integrada la conexion entre mi aplicacion y el lector, pueda leer eventos del lector como por ejemplo cuando un usuario ponga su huella.
Una vez consiga implementar esta conexion, ya me encargaria yo de trabajar con esas lecturas de huella... en unos casos para iniciar sesion, en otras para registrar la huella a un usuario...etc.

Hasta el momento, por lo que me he ido informando, parece que lo ideal para mi caso es el "u.are.u 4500" de DigitalPersona (ahora crossmatch).
Este lector se conecta por USB al equipo y tras instalar el controlador, es posible conectarse a el desde mi aplicación.
He encontrado el SDK en la siguiente dirección: http://devportal.digitalpersona.com/
Mas concretamente: http://devportal.digitalpersona.com/...ase%20Note.pdf

Por lo que veo en la documentación el API esta soportado para C++, .NET, ActiveX, Java y Javascript.

En un principio JavasCript me servirá o si no podría implementarlo en Java y mediante un applet integrarlo en mi web.

¿Por casualidad alguien ha trabajado ya con el "u.are.u 4500"?

Un saludo.
__________________
Follow me on twitter @franbedia
  #5 (permalink)  
Antiguo 03/01/2019, 22:18
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 960
Antigüedad: 6 años, 8 meses
Puntos: 110
Respuesta: Lector huellas

Orienté mi respuesta en el sentido de que quieres hacer uno por tu propia cuenta, y de hecho tu mismo te das la razón:

"Sin embargo, en este caso es distinto, ya que lo que necesito es un lector de huellas al que yo poder conectarme desde mi propia aplicación."

Si deseas hacer tu propia aplicación lo que tendrás que hacer es lo sig.

1. Sistema enrolamiento:
El cual te pida los datos del usuario + la huella, esta última procurar que no haya matching pairs (coincidir huella tomada con la bd), el como guardas la huella tienes dos opciones:
a. Como archivo de imágen
b. Como datos duros en bytes

2. Sistema de acceso, el cual haga matching pairs, y tomando en cuenta las dos opciones anteriores:
a. Imágen: abres la imágen aplicas filtros necesarios y aplicas los algoritmos necesarios.
b. Datos duros: Haces transformaciones y aplicas alogritmos necesarios.

Pero todo esto es bien técnico, y por eso mi respuesta, hablas de que has trabajado con softwares pero no uno tuyo, por lo que no tengo conocimiento si sabes como realmente son las transformadas, procesamientos y algoritmos de reconocimiento.

Si deseas hacer tu propio software tendrás que tener esos conocimientos. Dime si los tienes, que llevas hecho y puedo darte una mano.

Saludos, y feliz año nuevo
  #6 (permalink)  
Antiguo 05/01/2019, 06:05
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 155
Antigüedad: 8 años, 11 meses
Puntos: 8
Respuesta: Lector huellas

Compre el "digitalpersona u.are.u 4500".
He instalado el controlador y el SDK en mi PC y he conectado el lector de huellas por USB.

He comenzado a hacer pruebas...y lo primero de todo ha sido crearme una funcion para conectar desde Javascript con el lector de huellas y detectar cuando alguien coloca el dedo.

Esto ha sido facil, ya que basicamente se trata de 2 funciones, la de startAcquisition para conectar con el lector... y la de onSamplesAcquired que se llama cuando alquien pone el dedo en el lector.
Este es el código:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <meta charset="utf-8" />
  4.     <title>Fingerprint </title>
  5.  
  6. </head>
  7.  
  8.     Test...
  9.  
  10.     <script src="scripts/es6-shim.js"></script>
  11.     <script src="scripts/websdk.client.bundle.min.js"></script>
  12.     <script src="scripts/fingerprint.sdk.min.js"></script>
  13.    
  14.     <script>
  15.     var FingerprintSdkTest = (function () {
  16.         function FingerprintSdkTest() {
  17.             this.sdk = new Fingerprint.WebApi;
  18.            
  19.             //onSamplesAcquired este evento se lanza cuando alguien coloca el dedo sobre el lector
  20.             this.sdk.onSamplesAcquired = function (s) {
  21.                 console.log("onSamplesAcquired");
  22.                 console.log(s);
  23.                 sampleAcquired(s);
  24.             };
  25.         }
  26.         FingerprintSdkTest.prototype.startCapture = function () {
  27.             this.sdk.startAcquisition(Fingerprint.SampleFormat.Raw).then(function () {
  28.                 console.log("Aquisición correcta.");
  29.             }, function (error) {
  30.                 console.log(error.message);
  31.             });
  32.         };
  33.         return FingerprintSdkTest;
  34.     })();
  35.     window.onload = function () {
  36.         test = new FingerprintSdkTest();
  37.         test.startCapture();
  38.     }
  39.     function sampleAcquired(s){
  40.         var samples = JSON.parse(s.samples);
  41.         var sampleData = Fingerprint.b64UrlTo64(samples[0].Data);
  42.         var decodedData = JSON.parse(Fingerprint.b64UrlToUtf8(sampleData));
  43.         var localStorage = Fingerprint.b64UrlTo64(decodedData.Data);
  44.         console.log(decodedData);
  45.         console.log(localStorage);
  46.     }
  47.     </script>
  48.        
  49. </body>
  50. </html>

Esto se ve de la siguiente forma:

https://imgur.com/orn7qDk


Y cuando alguien pone el dedo en el lector:

https://imgur.com/PTOuDva


He hecho mas pruebas...y he sido capaz tambien de extraer la imagen:

https://imgur.com/6l5lIHa


Sin embargo, el problema esta en que ahora no se como trabajar las huellas... y estoy atascado en este punto.

Necesitaria de alguna forma hacer lo siguiente:

- En la pantall de "registro", almacenar 3...4...5..6... huellas del usuario para vincularselas a su cuenta.
- En la pantalla de "login", comparar la huella que se ponga en el lector con las de la base de datos para saber de que usuario es.

Mis dudas son esas.... como vincular la huella al usuario... si guardar la huella como "PNG", "raw", etc... y despues, como comparar estas huellas.

Espero haberme explicado bien.
Ojala puedan ayudarme.
Gracias.
__________________
Follow me on twitter @franbedia



La zona horaria es GMT -6. Ahora son las 01:32.