中控指纹仪指纹对比

时间:2021-01-19 03:11:49
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF5gQ+/IWOBQFC1NUEOvKFogVg6G3rBDyKOhkEJgZJ2AQt9ioUBFAtFJGgZBRNLSkhFQ0JDQT86NzQzMzIFE0hHRkRCQEFCQT46OTc2NAUSTE1LSEhISEE7NTIuLi4FE0NDQ0JAP0FDQkA+Pj07OQUSUFBNS0tPUUUvKSopKSgFEz4/QUNCQUJEQ0JAQEBAPwUSUFFQUFNWX3MPGSEjJCMGEjk/RUZFREZFRENDQ0MEEVFSU1NVV1xjcgcPGBocBxFESUxJSUpKSEdGRwQRUlRVVldbX2ZyAgkREhcIEE9RTkpKTExLSQQRVldXWFtdYmZwdQYMDRMJD1VUU1JRT08EEVdYWVxeYGRpcHUCBgcOAAD/BBFXW1tdYGNna3F1AQMFDwAA/wURXV1fYGRobXJ1AQIEDwAA/wYQXV9gZWpuc3YBBAcAAP8Y+MAYtKlQFCFsKsupW1n0LD+Gwz21V6D/1PoQ0kzS7uYpgf+fRhVVT/TVPDAUjoig2KREnP6rlReU4qXNLDfR/OaxR2iJkAH4SUNwBA5AlDC12KpBaehpDP48kfixsWar58h9kfAYtkrdD2yV565IRl1yfHpHI1zAkrhKicgrtvi4H90O3tP2Ymx7vhs7XtB1vXLvsQ06rcWwdumZ+I+vmcYayAmghlqjnntOzqyse6UnYne0xiHpmfY15axixGGLN1YaaxJx5q41gtuX6az6O786U6hT9IoGEPxGdxgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg=

比对方法,本身提供的:axZKFPEngX1.VerFinger(FRegTemplate(object类型,原指纹), e.aTemplate(object类型,新指纹, false, ref RegChanged);

用过的大侠们帮帮

11 个解决方案

#1


我不知道怎么进行对比了

#2


中控指纹仪指纹对比不是吧,没用过吗???

#3


问你的厂商咨询,一般都会提供demo的

#4


引用楼主  的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF5gQ+/IWOBQFC1NUEOvKFogVg6G……

把这个方法axZKFPEngX1.VerFinger(FRegTemplate(object类型,原指纹), e.aTemplate(object类型,新指纹, false, ref RegChanged);写在 private void  axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)这个方法里面

方法的参数,你的文档已经说的很清楚了,数据库怎么存的也是有的

#5


引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF5gQ+/IWOBQFC1NU……


我现在就是不知道怎么存进数据库后取来进行对比??

#6


引用 5 楼  的回复:
引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF……

public object sTemp;
在这个方法里面
private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
登记指纹,指纹为 sTemp
代码如下

        /// <summary>
        /// 指纹登记过程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            string Temp = string.Empty;
            if (e.actionResult)
            {
                this.axZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);
                Temp = this.axZKFPEngX1.EncodeTemplate1(e.aTemplate);
                this.txtFingerStr.Text = Temp;
                sTemp = this.axZKFPEngX1.DecodeTemplate1(Temp);
                lblFingerInfo.Text = "指纹登记成功!";
            }
            else
            {
                lblFingerInfo.Text = "指纹登记失败!";
            }
        }


数据库里用二进制存储指纹码,添加到数据库用参数化

    string strSql = "insert into Hospital_Employees(EmpFingerTmp) values(@EmpFingerTmp)";
    SqlCommand cmd = new SqlCommand(strSql, conn);
    cmd.Parameters.Add("@EmpFingerTmp", SqlDbType.Binary);
    cmd.Parameters["@EmpFingerTmp"].Value = sTemp;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();


至于读出来对比


  private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            string sTemp;
            Boolean lb_success = false;
            DataTable dt = new DataTable();
            sTemp = this.axZKFPEngX1.GetTemplateAsString();
            ytemp = this.axZKFPEngX1.DecodeTemplate1(sTemp);//记录新指纹
            SqlConnection conn = new SqlConnection(ConStr);       
            string strSql = string.Format("select EmpFingerTmp from Hospital_Employees where EmpFingerTmp is not null");
            SqlCommand cmd = new SqlCommand(strSql, conn);
            conn.Open();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            sda.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                regtemp = (object)dr["EmpFingerTmp"];//取得旧指纹
              
                //对比指纹
                if (this.axZKFPEngX1.VerFinger(ref regtemp, ytemp, false, ref lb_success))
                {
                   //你的处理
                }
                else
                {
                    lblFingerInfo.Text = "指纹识别失败,不能进入系统!";
                    continue;
                }
            }
            conn.Close();
        }



#7


引用 6 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW……

忘记说了,我这个是指纹登陆部分

#8


中控指纹仪指纹对比谢谢问题解决了,不过他本身提供了二维码对比的方法axZKFPEngX1.VerFingerFromStr(ref zw, axZKFPEngX1.GetTemplateAsString(), false, ref RegChanged);

#9


请问一下“axZKFPEngX1”是什么?

#10


ole
每天回帖即可获得10分可用分

#11


谢谢,参考下

#1


我不知道怎么进行对比了

#2


中控指纹仪指纹对比不是吧,没用过吗???

#3


问你的厂商咨询,一般都会提供demo的

#4


引用楼主  的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF5gQ+/IWOBQFC1NUEOvKFogVg6G……

把这个方法axZKFPEngX1.VerFinger(FRegTemplate(object类型,原指纹), e.aTemplate(object类型,新指纹, false, ref RegChanged);写在 private void  axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)这个方法里面

方法的参数,你的文档已经说的很清楚了,数据库怎么存的也是有的

#5


引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF5gQ+/IWOBQFC1NU……


我现在就是不知道怎么存进数据库后取来进行对比??

#6


引用 5 楼  的回复:
引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW9oDuBC8MgOUEJTsF……

public object sTemp;
在这个方法里面
private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
登记指纹,指纹为 sTemp
代码如下

        /// <summary>
        /// 指纹登记过程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            string Temp = string.Empty;
            if (e.actionResult)
            {
                this.axZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);
                Temp = this.axZKFPEngX1.EncodeTemplate1(e.aTemplate);
                this.txtFingerStr.Text = Temp;
                sTemp = this.axZKFPEngX1.DecodeTemplate1(Temp);
                lblFingerInfo.Text = "指纹登记成功!";
            }
            else
            {
                lblFingerInfo.Text = "指纹登记失败!";
            }
        }


数据库里用二进制存储指纹码,添加到数据库用参数化

    string strSql = "insert into Hospital_Employees(EmpFingerTmp) values(@EmpFingerTmp)";
    SqlCommand cmd = new SqlCommand(strSql, conn);
    cmd.Parameters.Add("@EmpFingerTmp", SqlDbType.Binary);
    cmd.Parameters["@EmpFingerTmp"].Value = sTemp;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();


至于读出来对比


  private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            string sTemp;
            Boolean lb_success = false;
            DataTable dt = new DataTable();
            sTemp = this.axZKFPEngX1.GetTemplateAsString();
            ytemp = this.axZKFPEngX1.DecodeTemplate1(sTemp);//记录新指纹
            SqlConnection conn = new SqlConnection(ConStr);       
            string strSql = string.Format("select EmpFingerTmp from Hospital_Employees where EmpFingerTmp is not null");
            SqlCommand cmd = new SqlCommand(strSql, conn);
            conn.Open();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = cmd;
            sda.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                regtemp = (object)dr["EmpFingerTmp"];//取得旧指纹
              
                //对比指纹
                if (this.axZKFPEngX1.VerFinger(ref regtemp, ytemp, false, ref lb_success))
                {
                   //你的处理
                }
                else
                {
                    lblFingerInfo.Text = "指纹识别失败,不能进入系统!";
                    continue;
                }
            }
            conn.Close();
        }



#7


引用 6 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:
引用楼主 的回复:
我已经将指纹仪中的二维码存入数据,如下

mspZFm51oyRmgRZBpmFBEEqMdMEJAZB4QQsStF+BBbs5VgEJtzpSgRFMIHQBFikxc4EJQgwpQQbTDkmBCFoFREEH1Sh5wQk3FnYBDRGaTAEJ0yc6wQpLGGJBFummTUEIwy1bAQW……

忘记说了,我这个是指纹登陆部分

#8


中控指纹仪指纹对比谢谢问题解决了,不过他本身提供了二维码对比的方法axZKFPEngX1.VerFingerFromStr(ref zw, axZKFPEngX1.GetTemplateAsString(), false, ref RegChanged);

#9


请问一下“axZKFPEngX1”是什么?

#10


ole
每天回帖即可获得10分可用分

#11


谢谢,参考下