0

我正在使用 digitalpersona one touch for windows java edition,我使用小程序捕获了指纹模板,小程序序列化模板然后将其从字节数组转换为十六进制字符串以将其显示在隐藏的文本框中并发送到服务器端并存储在mysql。我的代码可以检索模板,并将其转换回数组,但我不知道如何反序列化并再次创建模板:

   Connection con = null;  
try {
    Class.forName("com.mysql.jdbc.Driver");
     con = DriverManager.getConnection("jdbc:mysql://localhost:3306/biodb", "root", "1234");
    PreparedStatement st;
    st = con.prepareStatement("select template from login where username = ? ");
    st.setString(1, username);

    ResultSet result = st.executeQuery();

    if (result.next()) { //.next() returns true if there is a next row returned by the query.

        String dbTemplate = result.getString("template");
          byte[] data = new byte[1];
            data = hexStringToByteArray(dbTemplate);
           DPFPTemplate t = DPFPGlobal.getTemplateFactory().createTemplate();
            t.deserialize(data);
4

1 回答 1

0

您必须创建一个匹配器来比较 featureSet 和 tmeplate,如下所示:

DPFPVerification matcher = DPFPGlobal.getVerificationFactory().createVerification();
DPFPTemplate template = DPFPGlobal.getTemplateFactory().createTemplate();
template.deserialize(byteArray);
DPFPVerificationResult result = matcher.verify(featureSet, template);
于 2012-11-02T20:10:41.483 回答