Base64 biometrics generating different codes for the same digital

Asked

Viewed 234 times

2

I am having problems with the encryption of digital (biometrics) in base64 for passage of track parameter http. The problem is that each capture of the same digital are generated different codes, so it is not possible to compare with those that are registered in the base that has relation one to one (a user, a digital). Only on the level of clarification, I can’t use the class Base64 native to the Java 8, because customers should run Java 7, to avoid bureaucratisation by the security of Java 8. So, for this I only saw so far two alternatives, the first using the method below:

BaseEncoding.base64().encode(digital);

and, the second with:

DatatypeConverter.printBase64Binary(digital);

but in no case generate equal codes for the same digital. Thank you for the help provided to me.

  • the variable digital is of what type?

2 answers

2

As Roberto Fagundes said, with this type of biometrics we work by approximation.

If you take any phone with digital recognition, it asks you to insert the fingerprint of each finger five to ten times. When you sign up for a health plan or anything else usually several samples are captured as well.

You need to save a number of samples from the user, and when you receive an input you should search for the nearest fingerprints in the database. You authenticate the user if you achieve an arbitrarily high match with any specific digital that is present in your database.

Finally:

(...)clients must run java 7 to avoid bureaucratization by the security of java 8(...)

If you are going to avoid a version of the Framework because it is safer, your application is exposed to known security holes. It’s ironic that you’re trying to keep the system safe through digital (which are falsifiable), but you’re not using the latest version of Java. This is as dangerous as playing paintball with firearms.

1

Working with biometrics you can’t work for igualdade, the comparison should be made by aproximação, up because, one will rarely put one’s finger in the same position.

Maybe, the recommended is you look for some reader that contains a SDK for JAVA.

  • So in this case I should create another table only with digital and create a relation type (1 employee for digital N)? It makes sense, but the strange thing is that it already works locally when the digital newly captured by the reader is compared to a local base first, only it does not find when actually the employee is not on that local base is when I have to go and get it on the server, And that’s where the bottleneck is. But thanks for the shared knowledge.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.