使用 Android 的指纹扫描器进行应用程序验证

16

我需要创建一个能够扫描指纹并验证身份的应用程序。在Android网站上找不到有关指纹权限的任何信息。

是否可以将手机的指纹扫描器用于普通应用程序?如果可以,它可以存储多少个指纹(我更喜欢将它们存储在手机本身)?

谢谢


你想用什么样的手机?三星Galaxy S5,...? - LaurentY
1
不同的安卓手机权限是不同的吗?测试将在S5上进行,但我们希望为所有安卓设备开发。 - Choubeik
您是否有生物识别设备的演示? - Namrata
5个回答

11

指纹扫描仪不是Android的功能(现在可以在Android M上使用)

因此,像三星、摩托罗拉、HTC这样的每个公司都会创建自己的API和SDK来访问指纹传感器。

例如,三星提供了一个SDK:http://developer.samsung.com/galaxy#pass

Pass SDK允许您在应用程序中使用指纹识别功能。通过使用Pass SDK,您可以提供强化的安全性,因为您可以确定当前用户是否真正是设备的真实所有者。

如果要在应用程序中注册多个用户并检查用户,则无法在三星设备上执行。您只能检查设备的所有者。

我不知道其他公司的SDK。

更新

Android M具有新的指纹API:https://developer.android.com/about/versions/marshmallow/android-6.0.html#fingerprint-authentication


3

1
我需要类似的功能,我的解决方案是使用外部扫描仪,而不是使用带有集成指纹扫描仪的设备。有几家公司通过SDK与手机进行集成。您应该在谷歌上研究以下公司:
Nitgen:http://www.nitgen.com/eng/product/Hamster3.html#a2 Secugen:http://www.secugen.com/products/sdk_pro.htm#android Tactivo:http://precisebiometrics.com/smart-card-reader/android/ 在我的情况下,我使用了Secugen,但请随意选择适合您解决方案的设备。请注意,这种解决方案可以使您的项目更便宜,因为您不需要使用昂贵的手机,手机唯一需要的功能就是具有USB OTG(On-The-Go)。
我知道这个解决方案与您所要求的有些不同,但我相信这对您也很有趣。

1
你可以选择使用外部指纹扫描仪,能够注册个人的生物特征指纹,然后保存生物特征指纹数据和个人信息在你的安卓手机上。在我的案例中,我使用了DigitalPersona 4500类型的指纹扫描仪,并使用Crossmatch API进行指纹捕获。
实际上,如果你想从多个人手中获取生物特征指纹数据并将其保存在你的安卓手机中,这是最简单和可行的方法。事实上,限制你从各种登记者中注册更多生物特征数据的因素将是你的安卓移动电话/设备的内存大小约束。然而,你可以通过将你的安卓生物认证应用程序与你组织的外部RDBMs集中数据库(如MSSQL、Oracle、MySQL、PostgreSQL等)集成来轻松解决这个问题。
如果你愿意,你可以选择使用Source AFIS API来实现它,这样会更加容易。为了激励你,你可以在这里查看这个项目的网页[Android Biometric Authentication using External USB Fingerprint Scanner][2],我在这里开发了它[here][2]。
请查看我附上的截图,其中包括指纹匹配成功和匹配失败时的指纹认证以及指纹已注册的截图。我设计了可重用的用户界面(GUI),适用于各种屏幕尺寸的Android手机,用于指纹注册和指纹认证。您可以按照自己的方式设计界面,但在我的情况下,我希望能够在认证过程中显示个人的指纹,并添加了一个活动来在手指触摸事件触发后交换显示的指纹图像,如果个人将手指放在指纹扫描仪上。祝编码愉快。
[2]: https://jomutech.com/androidexternalfingerprintscanner/ enter image description hereenter image description here

1
链接无效,先生。 - IntelliJ Amiya

0

简单的回答是不行。

但是你可以通过实现Android M中引入的Google指纹识别来集成它,该识别仅支持5次尝试,如果所有尝试都失败,则您的设备指纹阅读器将被阻止30秒,然后在此期间过后,您可以再次使用指纹进行身份验证。

例如,您正在使用支持指纹的2个应用程序(A和B)。然后您输入3个错误的指纹,然后关闭应用程序A,然后打开应用程序B,因此在30秒内总共有5次尝试可用,因此您的应用程序只能进行2次身份验证,因为应用程序A进行了3次尝试,因此在未经授权的2次尝试之后,操作系统会阻止所有应用程序的读取器。

因此,请等待30秒或要求用户相应地输入PIN码或密码,如果用户不想等待那么长时间。

希望这可以帮助到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接