如何在C#中验证来自MS SQL的DPFP指纹

时间:2015-07-01 15:32:32

标签: c# sql-server-2008 digital-persona-sdk

我已经在varbinary(max)中保存了dpfp模板,现在我从数据库中退出它,在byte []中进行转换,然后对其进行deserilizing,然后放入verify()方法,但是错误发生了 来自HRESULT的异常:0xFFFFFFF8

我如何获取数据如下:

SqlConnection cn = new SqlConnection(@"Data Source=Windows\me;Initial Catalog=Enroll;Persist Security Info=True;User ID=sa ;  Password=sa123");

cn.Open();
SqlDataAdapter adp = new SqlDataAdapter("Select varb from employee where employeeid='127'", cn);
DataTable dt = new DataTable();
adp.Fill(dt);
bytes= ConvertDataSetToByteArray(dt);

Template = new DPFP.Template();
Template.DeSerialize(bytes);

<b>Verificator.Verify(features, Template, ref result);</b>
UpdateStatus(result.FARAchieved);

if (result.Verified)
    MakeReport("The fingerprint was VERIFIED.");
else
    MakeReport("The fingerprint was NOT VERIFIED.");

此Verify()未验证来自DB&gt;

的数据 我在做错了吗?转换?或者没有正确获取数据?

2 个答案:

答案 0 :(得分:2)

应排除ConvertDataSetToByteArray()方法 datable中的 <input type="button" value="Continue Button" onclick=" if (confirm('Continue?')) {window.location.href = '@Url.Action(\"actionName\", \"controllerName\", new { param = 123 })';}" /> 将转换为System.Byte

byte[]

答案 1 :(得分:0)

我的问题是在sql server数据库中存储。

我使用varbinary(MAX),指纹需要二进制(1632)。我在数据库中对此进行了修改,但它确实有效。