gpt4 book ai didi

mysql - 我总是遇到指纹未验证的情况

转载 作者:行者123 更新时间:2023-11-29 18:19:16 25 4
gpt4 key购买 nike

每当我扫描指纹进行验证时,即使我已经将该指纹注册到数据库中,我也会收到“指纹未验证”消息。这是表单加载时捕获的代码

这是表单加载时捕获的代码

Private Sub Me_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Init()
StartCapture()

Dim conn As New MySqlConnection
Dim cmd As New MySqlCommand
Dim sql As String
conn.ConnectionString = "**** "
conn.Open()
sql = ("SELECT * FROM new_case_file")
cmd.Connection = conn
cmd.CommandText = sql
Dim rdr As MySqlDataReader = cmd.ExecuteReader()

While (rdr.Read())
Dim MemStream As IO.MemoryStream
Dim fpBytes As Byte()

fpBytes = rdr("FingerPrint")
MemStream = New IO.MemoryStream(fpBytes)

Dim templa8 As DPFP.Template = New DPFP.Template()
templa8.DeSerialize(MemStream)
Dim serializedTemplate As Byte() = MemStream.ToArray

Dim tmpObj As New AppData
Dim FPList As List(Of AppData) = New List(Of AppData)
'tmpObj.No = rdr("No").ToString()
'tmpObj.Template = templa8
'FPList.Add(tmpObj)
End While
conn.Close()

End Sub

这里是验证代码。当我单击按钮时,它应该进行验证,因为我在按钮单击子中调用了子 verifyControl_Complete

Private Sub verifyControl_OnComplete(ByVal Control As Object, ByVal FeatureSet As DPFP.FeatureSet, ByRef EventHandlerStatus As
DPFP.Gui.EventHandlerStatus) Handles verifyControl.OnComplete


Dim printFound As Boolean = False
'Dim printFound As Boolean = True
'Dim printFound As Boolean = False
Dim VerifiedFPData = New AppData
Dim FPList As List(Of AppData) = New List(Of AppData)
Try

For Each FPData As AppData In FPList
Dim tmplateData As New DPFP.Template
'tmplateData = FPData.Template
Dim compareTo As New DPFP.FeatureSet
compareTo = FeatureSet

Dim ver As New DPFP.Verification.Verification()
Dim res As New DPFP.Verification.Verification.Result()

If Not tmplateData Is Nothing Then
ver.Verify(FeatureSet, tmplateData, res)

If res.Verified Then
EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Success
printFound = True
VerifiedFPData = FPData

Exit For

End If
End If

Next

Catch ex As Exception
MessageBox.Show("Error")
End Try


If printFound Then
MsgBox("Verified")
Else
EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Failure

MsgBox("Not Verified")
End If

End Sub


Private Sub btnverifyfp_Click(sender As Object, e As EventArgs) Handles btnverifyfp.Click
verifyControl_OnComplete(Nothing, Nothing, Nothing)
End Sub

这是我保存指纹时使用的代码

Dim fingerprintData As MemoryStream = New MemoryStream
Enroller.Template.Serialize(fingerprintData)
Dim serializedTemplate As Byte() = fingerprintData.ToArray()
Dim bytes() As Byte = serializedTemplate

最佳答案

试试这个:

'THIS NEEDS TO BE AT THE CLASS-LEVEL, AS A MEMBER
Private FPList As New List(Of AppData)

Private Sub Me_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs)
Handles MyBase.Load
Init()
StartCapture()

Dim sql As String = "SELECT * FROM new_case_file"
Using conn As New MySqlConnection("**** "), _
cmd As New MySqlCommand(sql, conn)

conn.Open()
Using rdr As MySqlDataReader = cmd.ExecuteReader()
FPList.Clear()
While (rdr.Read())
Dim tmpObj As New AppData
tmpObj.No = rdr("No").ToString()

Dim fpBytes As Byte() = rdr("FingerPrint")
Using MemStream As New IO.MemoryStream(fpBytes)

Dim templa8 As New DPFP.Template()
templa8.DeSerialize(MemStream)
End Using
tmpObj.Template = templa8

FPList.Add(tmpObj)
End While
rdr.Close()
End Using
End Using
End Sub

现在以后的其他代码可以使用相同的 FPList 变量。如果您发现自己在其他地方编写了 New List(Of AppData),那么您就做错了。

AppData 类应如下所示:

Public Class AppData
Public Property No As String
Public Property Template As DFFP.Template
End Class

最后是验证码:

Private Sub verifyControl_OnComplete(ByVal Control As Object, ByVal FeatureSet As DPFP.FeatureSet, 
ByRef EventHandlerStatus As DPFP.Gui.EventHandlerStatus)
Handles verifyControl.OnComplete

Try

Dim ver As New DPFP.Verification.Verification()
Dim res As New DPFP.Verification.Verification.Result()

For Each FPData As AppData In FPList
If FPData.Template Is Nothing Then Continue

ver.Verify(FeatureSet, FPData.Template, res)
If res.Verified Then
EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Success
MsgBox("Verified")
Return
End If

Next FPDAta

Catch ex As Exception
MessageBox.Show("Error")
End Try

EventHandlerStatus = DPFP.Gui.EventHandlerStatus.Failure
MsgBox("Not Verified")
End Sub

再说一次...我们无权访问您的 API 文档、测试数据或设备。这意味着我们在这里试图帮助你是盲目的。这可能存在一些问题,您必须能够进行故障排除和调试。

关于mysql - 我总是遇到指纹未验证的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46732391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com