如何进行基于图像的身份验证

时间:2015-02-02 09:55:45

标签: java

我计划进行基于图像的身份验证,用户首先通过上传图像进行注册,并在登录我的应用程序时使用相同的图像。我试图在互联网上找出我们可以遵循的方法,但是没有适当的解决方案我可以从哪里开始。

有人可以提供一些关于如何在Java中进行基于图像的身份验证的指示吗?我们可以在这里使用任何第三方API吗?

3 个答案:

答案 0 :(得分:1)

我还没有听说过这样的身份验证机制,但是如果我实现这样的话,我会选择以下方法之一:

  1. 使用image作为校验和算法的输入。在这种情况下,它与基于普通密码的身份验证没有太大区别。
  2. 如果您需要提供一些灵活性,例如您允许用户通过提供相同对象的照片进行身份验证,但不要求照片相同 - 我建议您使用基于特征点的图像比较。为此,OpenCV是一种可行的方式(它们还提供Java API)。

答案 1 :(得分:1)

我不确定是否有API或lib来做这样的事情,但是如何选择图像的某些特征并在比较过程中使用它们,

1- image-width

2- image-height

3-图像文件大小

4-图像的一些文件校验和

比较两个图像中的像素(getRGB)可能对于每个像素

如果所选标准匹配,则授权。

修改 抽象地说,你需要寻找图像比较技术或库 有人here有一些东西

并检查this question

答案 2 :(得分:1)

您可能想要在该图像上计算SHA-1或SHA-3。见this。 首先,您需要将图像读取为字节数组here。 毕竟,你只是比较两个哈希,如果相等,用户可以登录。