2017-09-26 12 views
2

Je construis une application d'authentification biométrique. J'ai généré avec succès les données du modèle d'empreinte digitale dans la console. Je reçois ces modèles au format ISO/IEC 19794-2. Je veux juste savoir que est-il un moyen de stocker le modèle d'empreintes digitales ISO/IEC 19794-2 dans la base de données PostgreSQL? Quel peut être le type de données?
Comment stocker un modèle d'empreinte digitale ISO/IEC 19794-2 dans une base de données postgreSQL

J'ai suivi leur site officiel mais aucun indice.
J'utilise le modèle d'empreinte digitale ISO/IEC 19794-2 à des fins de stockage et de vérification.

EDIT:
Je 3M scanner CSD200 pour obtenir le modèle d'impression du doigt et je suis en utilisant leur SDK pour créer cette application. Ils ont utilisé un algorithme matchIso19794_2Templates(byte[], byte[]) dans lequel il accepte deux modèles en forme de tableau d'octets et identifie s'ils sont identiques ou non.

+2

je stocker quelque chose comme cela comme 'bytea', un blob binaire, à moins que vous vous attendez à l'interroger dans la base de données d'une certaine manière. Dans ce cas, j'utiliserais probablement 'bytea' et j'écrirais des fonctions C pour agir dessus, car il est difficile d'imaginer que SQL soit efficace pour cela. Mais la spécification dit qu'il y a un "format basé sur un enregistrement" donc vous pourriez vraisemblablement l'utiliser ... –

+0

Voulez-vous faire correspondre les empreintes digitales avec la requête SQL? – LaurentY

+0

@LaurentY Oui, je veux aussi la vérification – Lokesh

Répondre

1

Vous pouvez stocker modèle d'empreintes digitales dans la base de données de plusieurs façons:

  1. grand objet

https://www.postgresql.org/docs/current/static/largeobjects.html

  1. bytea

https://www.postgresql.org/docs/9.1/static/datatype-binary.html

  1. en hexa (pour les petites données)

Vous pouvez convertir votre tableau d'octets à hexa, et la chaîne de magasin

Pour comparer, les empreintes digitales, il y a deux cas:

  1. Comparer 1 à 1

Vous pouvez utiliser la méthode matchIso19794_2Templates(byte[], byte[]) fournir par y notre SDK

  1. Comparer 1 à n

Vous pouvez utiliser un AFIS

+0

Craig dans les commentaires ci-dessus a déclaré que nous ne pouvons pas utiliser bytea pour faire correspondre dans la base de données. – Lokesh

+0

Merci compagnon. inscription et vérification effectuées !! – Lokesh