Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Huella Digital - Interbase (https://www.clubdelphi.com/foros/showthread.php?t=34115)

BlueSteel 27-07-2006 16:49:38

Huella Digital - Interbase
 
Hola Foro...

Tengo una consulta... donde trabajo se quiere implementar un sistema Control Socios, con capturadores de datos ( a través de código de barra y banda magnética...), además, quieren agregarle un sistema de huellas digitales, con lo cual quisiera saber si Interbase 6 soporta almacenar este tipo de dato.. y hasta cuantos... ya que en la actualidad, existen 15.000 socios y se espera una proyección de 20.000 socios a 5 años...


Si alguien posee información de como trabajar las huellas digitales con delphi 7 me podria orientar....

gracias

Neftali [Germán.Estévez] 27-07-2006 16:53:23

Cualquier tipo de dato se puede almacenar en una Base de Datos. Lo que hay que saber con certeza es qué tipo de Datos te devuelve el Lector de Huellas o el programa que lo gestione.

Casimiro Noteví 27-07-2006 21:16:06

Cita:

Empezado por BlueSteel
Hola Foro...

Tengo una consulta... donde trabajo se quiere implementar un sistema Control Socios, con capturadores de datos ( a través de código de barra y banda magnética...), además, quieren agregarle un sistema de huellas digitales, con lo cual quisiera saber si Interbase 6 soporta almacenar este tipo de dato.. y hasta cuantos... ya que en la actualidad, existen 15.000 socios y se espera una proyección de 20.000 socios a 5 años...


Si alguien posee información de como trabajar las huellas digitales con delphi 7 me podria orientar....

gracias

No tendrás problemas en almacenar esa información, puedes buscar en estos foros sobre el tema, hay varios hilos interesantes sobre huellas digitales. Justo al final de esta página encontrarás algunos de esos hilos.

Y, por favor, mejor abandona interbase 6, es del año 1999, usa Firebird que es la evolución de Interbase... y además también es libre.

Sick boy 28-07-2006 10:22:07

Yo tengo un lector de huellas (para hacer pruebas) y te puedo informar un poco.

1.- El dato de la huella es un string o hash, obtenido de los puntos claves de la huella. La imagen de la huella no se almacena, salvo que quieras hacerlo.

2.- La capacidad de FB es más que suficiente para almacenar 20.000 huellas.

3.- El problema es que tendrás que leer todas las huellas para saber cual es la de tu cliente. En realidad, no tendras que leer todas, pero casi, te explico.

Cuando quieras guardar la huella, el lector te pedirá que repitas la captura de la huella varias veces (cuantas más veces, más efectivo), y el resultado lo guardas en la base de datos.

Cuando quieras saber a quien corresponde la huella, el usuario pone el dedo, el lector te devuelve un hash y ahora empieza el problema. Tienes que leer de forma secuencial la tabla de las huellas, obteniendo cada hash e introduciendolo en una función propia de la DLL del lector, que analiza el porcentaje de similitud entre el hash que esta en la base de datos y el hash que acabas de obtener.
El mismo dedo nunca produce dos hash iguales, por lo tanto no pudes hacer un SELECT FROM DEDOS WHERE mi_dedo=:hash_dedo

Asi que todo depende de la velocidad de esa función de comparación de huellas, y no del motor de bases de datos utilizado.

El SDK de Digital Persona funciona muy mal para cantidades grandes de huellas (yo no puede hacerlo ir rápido con 2000 huellas), aunque hay un motor desarrollado en Letonia o Lituania (no lo recuerdo bien) que asegura ser mucho más rápido.

Si avanzas o descubres algo nuevo, por favor, postealo, que yo también estoy interesado en el tema.

jam 28-07-2006 15:41:07

Si adicionalmente se utiliza un lector de código de barras o banda magnética el problema se simplifica ya que solo hay que comparar las cadenas asociadas a los datos leidos.

Sick boy 31-07-2006 09:52:23

Cita:

Si adicionalmente se utiliza un lector de código de barras o banda magnética el problema se simplifica ya que solo hay que comparar las cadenas asociadas a los datos leidos.
En mi caso, si tengo que utilizar también otro tipo de lectores, el sistema ya no es valido, ya que la idea es sustituir ese tipo de dispositivos.

Más sencillo sería que el usuario recordase un PIN (4 digitos son suficientes) como los cajeros automaticos. Asi la comparción de huellas se hace sobre los resultados que coincidan con el PIN.

En cualquier caso, mi idea era utilizar SOLO LA HUELLA, lo cual con un numero grande de huellas aun no es muy viable.

Saludos

PedroAlfonso 31-07-2006 18:15:52

Les comparto experiencia con huella digital
 
Les comparto mi caso, a ver que les sirve.
Tengo ya 1 año utilizando la huella digital para control de tarjetas de cliente frecuente (dinero electrónico) y crédito personal.
Actualmente tengo 600 clientes de crédito y 12,000 clientes con tarjeta de dinero electrónico.
Guardo tres huellas del indice derecho de cada cliente en campos blob.
Otorgo tarjeta y con esa se verifica la huella 1 a 1.
Cuando el cliente no trae su tarjeta, mi sistema pide el apellido o parte de este (containing) y realiza la busqueda 1:N pero con el filtro del apellido.

Al principio tuve bastantes problemas para poner a punto el ejecutable porque me daba problemas de manejo de memoria y el enrolado de clientes era a veces problematico, pero con algunos ajustes en 2 semanas ya trabajaba casi bien.
Van alrededor de 10 personas que no se les puede enrolar la huella -campesinos y cocineras casi siempre- porque sus huellas están muy deterioradas. También les diré que como un 2% necesitan más esfuerzo para enrolarlas (por las mismas razones).

JZarate 22-08-2006 22:33:49

El dato de la huella en un string o hash
 
Hola que tipo de valor o hash devuelve la huella en un texto codificado ?

Binarios ? 01010101

Texto de la siguiente forma ?
AQAAABQAAABUAgAAAQASAAMAZAAAAAAASAIAAPgtiunTCQHspoyAKeCWu/
3OAqDJZKKNtD0j8LzyJ1wyrB3gAar37PHvlu7v5Dw1CkUyv/zJjTUQR/7XHb3Kq0n
YZgKO4Dw6Rk*kTH0FvHCE3uLldp4lUyoTon0CHOxhjM8WT8NQ3CrPoXE0jcTwxZT
MvnaXLQTIsq/qAnjqn64xPkP8lxHzoGxcUpPQOB9EJPnlEjNaptt7HLFSZUNR7kCtNDo
9G4n589juHteyu8ANCmjHSHM7KxTAzU4BU5ApT1UlbU7UPk

Numeros ? 24 ,32 etc

espero puedan apoyarme

PedroAlfonso 23-08-2006 02:36:03

devuelve esto :


D$¡"siBõ
KbPécÞ…'(!1•ˆC4ñ‘/;”]?V…0FŠœJ(ˆWMP†(U-?8VBH[4
/_DJaÆ%e=Ž5g¿Yl?„Jn4Qo4…/qÉ+u9hwH.xÓò{S`~@/€ïª5ƒ?†QA†!ŽdŒ@‹<?Œ$’í–g˜6‘ÿÿÿÿ/ÿÿÿÿÿð#4ÿÿÿÿþ#4Dÿÿÿýà3DEÿÿÿÞ#4DUÿÿÍà4DE_ÿÌÎ4DEU_ûÌÞDUUUÿ»Ìá4UUVoú»Î$UUffÿª«¥Vfffo™™˜wwfffù™ˆˆ ˆwvfoˆ‡x™ˆwfoø‡wš™‡wfÿ‡v|º˜‡v÷vNË©ˆwwÿõA캙‡wÿÿB
˺™‡oÿÿÜ»ª˜ÿ

JZarate 23-08-2006 16:36:14

Texto codificado
 
Hola el lector que utilizo tiene dos formas de obtener el FIR (Registro de Identificacion de Huella Digital) lo hace mediante las funciones:

// Obtiene el dato del FIR como binario codificado
NBioAPI.Type.FIR biFIR;
m_NBioAPI.GetFIRFromHandle(hNewFIR, out biFIR);

// Obtiene el dato del FIR como texto codificado
NBioAPI.Type.FIR_TEXTENCODE textFIR;
m_NBioAPI.GetTextFIRFromHandle(hNewFIR, out textFIR, true);

ahora bien si utilizo el valor : textFIR.TextFIR me devuelve texto de la siguiente forma :

AQAAABQAAABUAgAAAQASAAMAZAAAAAAASAIAAPgtiunTCQHspoyAKeCWu/
3OAqDJZKKNtD0j8LzyJ1wyrB3gAar37PHvlu7v5Dw1CkUyv/zJjTUQR/7XHb3Kq0n
YZgKO4Dw6Rk*kTH0FvHCE3uLldp4lUyoTon0CHOxhjM8WT8NQ3CrPoXE0jcTwxZT
MvnaXLQTIsq/qAnjqn64xPkP8lxHzoGxcUpPQOB9EJPnlEjNaptt7HLFSZUNR7kCtNDo
9G4n589juHteyu8ANCmjHSHM7KxTAzU4BU5ApT1UlbU7UPk

en vez de devolver:
D$¡"siBõKbPécÞ…'(!1•ˆC4ñ‘/;”]?V…0FŠœJ(ˆWMP†(U-?8VBH[4
/_DJaÆ%e=Ž5g¿Yl?„Jn4Qo4…/qÉ+u9hwH.xÓò{S`~@/€ïª5ƒ?†QA†!ŽdŒ@‹<?Œ$’í–g˜6‘ÿÿÿÿ/ÿÿÿÿÿð#4ÿÿÿÿþ#4Dÿÿÿýà3DEÿÿÿÞ#4DUÿÿÍà4DE_ÿÌÎ4DEU_ûÌÞDUUUÿ»Ìá4UUVoú»Î$UUffÿª«¥Vfffo™™˜wwfffù™ˆˆ ˆwvfoˆ‡x™ˆwfoø‡wš™‡wfÿ‡v|º˜‡v÷vNË©ˆwwÿõA캙‡wÿÿB
˺™‡oÿÿÜ»ª˜ÿ

Y revise un ejemplo que acompaña el SDK y hay otra funcion que guarda la huella en un archivo se llama m_IndexSearch.SaveDBToFile(Nombre archivo); y en esta hice la ,prueba y al revisar el archivo ahi si lo almacena como en el formato :

D$¡"siBõKbPécÞ…'(!1•ˆC4ñ‘/;”]?V…0FŠœJ(ˆWMP†(U-?8VBH[4
/_DJaÆ%e=Ž5g¿Yl?„Jn4Qo4…/qÉ+u9hwH.xÓò{S`~@/€ïª5ƒ?†QA†!ŽdŒ@‹<?Œ$’í–g˜6‘ÿÿÿÿ/ÿÿÿÿÿð#4ÿÿÿÿþ#4Dÿÿÿýà3DEÿÿÿÞ#4DUÿÿÍà4DE_ÿÌÎ4DEU_ûÌÞDUUUÿ»Ìá4UUVoú»Î$UUffÿª«¥Vfffo™™˜wwfffù™ˆˆ ˆwvfoˆ‡x™ˆwfoø‡wš™‡wfÿ‡v|º˜‡v÷vNË©ˆwwÿõA캙‡wÿÿB
˺™‡oÿÿÜ»ª˜ÿ

Como puedo hacer para k ese dato lo pueda almacenar ya que lo almacena en un archivo


La franja horaria es GMT +2. Ahora son las 16:00:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi