留存,转载自如下网址:

前段时间的一个web项目搞了个指纹登陆,用的是中控的Biokey 开发工具,安装控件驱动神马的, 就不多说了,zkonline的SDK里都有,由于指纹需要在服务器端做比对,但SDK里只提供了DLL库的方式来解决比对问题,所以需要让java调用DLL库。。。在网上找到JNative这个东东来调用DLL里的方法。下面大概说一下实现的过程

1、下载JNative,我下的是JNative-1.3.2 这个包,解压后,包括JNative.jar,JNativeCpp.dll,libJNativeCpp.so三个文件(“libJNativeCpp.so”ms是在linux下用的,没有仔细关注)。

2、将JNative.jar放在工程的lib下,有的文章说要放在jdk的安装目录下,但我试了没有成功,在工程的lib下是成功的。后来为了保险,在JDK安装目录的\jre\lib\ext下也放了一份。

3、将 JNativeCpp.dll 放到tomcat安装目录的\bin 路径下 这个tomcat的版本不同,路径有所不同,我的是tomcat5

4、将 ZKonlineSDK (BS)中的 Match.dll 放到tomcat安装目录的\bin 路径下,(与 JNativeCpp.dll 在同一目录)

5、以上准备工作完成之后,就是编码了。

import org.xvolks.jnative.JNative;

import org.xvolks.jnative.exceptions.NativeException;

import org.xvolks.jnative.pointers.Pointer;

import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;

import org.xvolks.jnative.Type;

public class VerFinger {

//regFingertpl 为数据库中保存的指纹特征码

//verFingertpl 为需要被比对的指纹特征码

public String isVerFinger(String regFingertpl, String verFingertpl) throws

NativeException, IllegalAccessException{

JNative jna = null;

try{

if(jna == null){

jna = new JNative("Match.dll","Process");//调用Mathc中的Process方法

jna.setRetVal(Type.INT);

}

jna.setParameter(0,Type.STRING,regFingertpl);//设置Process方法中的第一个参数

jna.setParameter(1,Type.STRING,verFingertpl);//设置Process方法中的第二个参数

jna.invoke();

String val = jna.getRetVal();//获取Process方法的返回值

return val;

}

finally{

if(jna!=null){

jna.dispose();

}

}

}

}

接下来是isVerFinger方法的调用

String regFingertpl = udao.getUserFinger(userName);

String verFingertpl = request.getParameter("fingertpl");

VerFinger vf = new VerFinger();

String is="";

try {

is = vf.isVerFinger(regFingertpl, verFingertpl);

} catch (NativeException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(is.equals("65535")){//当返回值为“65535”时,指纹特征码对比成功

finger = "1";

ableLogin = "1";

}

else if(is.equals("0"))")){//当返回值为“0”时,指纹特征码对比失败

{

finger = "0";

ableLogin = "0";

}

END

ps:初次写此类文章,如果不对之处,还希望多多批评指正,谢谢。

zkonline java_U.ARE.U4000B指纹仪,ZKOnline SDK,java服务器端指纹特征码验证--转载相关推荐

  1. DigitalPersona 指纹仪的使用

    最近在做身份证读卡器和指文采集的工作.身份证读卡器使用的是华视电子的,指纹仪使用的是digitalPersona.之前还接入过HXGC的身份证读卡器和海康的网络摄像头.基本大同小异,这里做个梳理和总结 ...

  2. JavaScript访问指纹仪采集指纹

    一.限制 受浏览器的安全规则限制,JavaScript代码并不能直接访问硬件资源. 采集指纹需要访问指纹仪外设,JavaScript本身已经无能为力. 二.解决方案 需要借助于浏览器插件.浏览器扩展或 ...

  3. Usb指纹仪无法识别

    USB指纹仪无法识别的原因可能有很多. 可能是指纹仪的设备驱动程序没有正确安装,或者是设备本身出了问题. 如果是驱动程序的问题,你可以尝试重新安装驱动程序. 如果是设备本身的问题,你可以尝试检查设备是 ...

  4. js调用串口通信,读取指纹仪数据

    参考资料:http://blog.csdn.net/catxl313/article/details/5244243 全部代码如下,此为读取指纹仪: <!Doctype html> < ...

  5. linux系统下,浏览器怎么调用本地硬件设备如指纹仪等。

    linux系统下,浏览器怎么调用本地硬件设备如指纹仪等. 这个问题是一个同学在项目开发中遇到的问题,做的也是政府部门相关的项目,由于现在政府部门都在慢慢开始放弃windows系统改用Linux系统了, ...

  6. android 指纹识别支付 secure os,Android指纹识别

    常用开发工具类和自定义view,无耻的求个star: https://github.com/AbrahamCaiJin/CommonUtilLibrary 最近开始做项目的时候,需要用到Android ...

  7. android 指纹识别支付 secure os,Android指纹登录/指纹支付简述

    一.简述 业务需求,需要指纹登录,鉴于市面上的资料不是特别齐全,走了不少弯路.现在通了,写点东西给大伙做个参考.末尾会提供demo和参考资料 二.指纹登录/支付工作流程 指纹验证加密流程.png 最新 ...

  8. matlab指纹图像采集,基于MATLAB实现的指纹图像预处理

    西南民族大学学报·自然科学版第 34 卷第 4 期 Journal of Southwest University for Nationalities⋅Natural Science Edition ...

  9. 指纹图像方向图matlab,matlab指纹方向场方向图程序

    function Fangxiangtu = zhiwen_fangxiangtu( Zhiwentuxiang ) %函数功能计算指纹方向图 %函数参数指纹图像Zhiwentuxiang %函数返回 ...

  10. 什么叫侧面指纹识别_哪种指纹识别方式好?侧边指纹识别可能会成为主流

    我以前没有用过背面的指纹.从手机到现在,前置解屏都是一个被认为是理所当然的,甚至升级也应该是屏幕下的指纹.然而,有了小米8,突然觉得指纹解锁实际上不是一个非常重要的问题.首先,如果是前置指纹解屏的话, ...

最新文章

  1. android不同Activity之间的数据共享
  2. python PyQt5 adjustSize()(根据内容自适应大小)
  3. JavaParser生成,分析和修改Java代码
  4. web版本 开源压测工具_siege--Web性能压测工具
  5. [转载] 湖北:星空团队——海燕计划
  6. Spring Security源码分析四:Spring Social实现微信社交登录
  7. max转obj_工程动画制作 | Max插件Multiscatter进阶教程
  8. adb -s emulator-5554 install JDKCast-PAP.apk
  9. 电脑小问题四:知网CAJ格式转下载PDF格式
  10. 发送网页内容到onenote_将网页中的信息快速添加到OneNote笔记本的方法
  11. DeepStream 配置文件解析
  12. Spring框架——applicationContext.xml配置文件头部xmlns
  13. CAMP模型——估计资本成本的模型
  14. 基于深度学习的农作物病虫害识别
  15. C语言:利用函数输出PI值
  16. 2021腾讯社招java技术岗面试题
  17. PHP:简单数学勾股定理
  18. 前端面试题-小米二面
  19. OrCad原理图封装绘制任意形状
  20. [附源码]java毕业设计宠物狗领养网站

热门文章

  1. 在Windows系统中安装Go语言
  2. 利用IV分析仪测量二极管的伏安特性
  3. E-day0003:generate
  4. H.264中CBR VBR FIXQP
  5. 在英文邮件中,如何在开头对收件人进行称呼?
  6. 谷歌浏览器设置默认Flash
  7. java两个日期相减_java将两个日期相减得到天数
  8. excel下拉列表多选框_将列表框添加到Excel工作表
  9. 7.STC15W408AS单片机串口通信
  10. 使用mask雕刻镂空背景