`
TygerZH
  • 浏览: 1905 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何用NFC手机读二代身份证

 
阅读更多

        随着国家对各行各业监管越来越严格,实名制认证在行业内越来越多的被广泛应用。目前的实名制认证有两种,一种是使用专用的身份证阅读器进行身份证的读取,然后进行认证,这种在金融行业应用比较多;另一种是上传身份证照片或银行卡信息然后再通过摄像头获取当前照片,然后进行后台比对进行验证。

        第一种,专用的身份证阅读器价格比较高,一般情况下都在1000元以上,体积比较庞大(一半张A4纸大小),携带不太方便,并且必须与电脑软件配套使用。这就限制了很多应用场景,不可能随时随地进行证件识别。

        第二种,上传照片进行ocr提取后在后台进行人脸比对,一个是需要建立一套自己的比对服务器,对技术要求比较高,另一个是不能进行真伪识别,照片是可能被修改的,虽然现在很多公司都有一套自己的活体检测机制,但是在一定程度上仍然有误判的可能。

        那有没有一种灵活、方便、价格便宜的身份证识别方法呢?答案是肯定的,NFC了解一下。

        身份证解码需要用到公安部授权的解码模块,它采用安全加密技术,其加密和解密算法是不公开的,只能通过解码模块进行解码。现在市面上的身份证解码阅读器正是因为集成了这个模块,造成它们体积庞大,不便于携带。    

        现在很多手机都带NFC功能,刷公交卡、门禁卡都很方便,但是怎么用手机刷身份证呢?公交卡、门禁卡和身份证都是通过RFID技术来进行卡中数据交互的,那我们怎么才可以把身份证中的数据还原成我们自己的照片呢?

        如果想要在手机上进行身份证解码,需要对身份证解码进行一系列处理,集成到了云服务器上,只需要调用两个接口就可以解码出来,现在我们来介绍一下集成方法。    

  • 初始化解码: ReadCardAPI = new OTGReadCardAPI(getApplicationContext(), this, false);
  • 添加权限:PermissionUtil.grantNeedPermission(this);     
  • 设置服务器地址: ArrayList<Serverinfo> twoCardServerlist = new ArrayList<Serverinfo>();                                                  twoCardServerlist.add(new Serverinfo("id.yzfuture.cn", 8848));                                                                ReadCardAPI.setServerInfo(twoCardServerlist, null, bTestServer);
  • 解码:ReadCardAPI.NfcReadCard(m_szAppKey, null, inintent, eCardType.eTwoGeneralCard, "", false);
  • 获取身份证信息:ReadCardAPI.GetTwoCardInfo()
  •  解码后的结果放在下面这个类中:

        public class TwoCardInfo {

    public String szTwoIdName; // 姓名 UNICODE

    public String szTwoIdSex; // 性别 UNICODE

    public String szTwoIdNation; // 民族 UNICODE

    public String szTwoIdBirthday; // 出生日期 UNICODE YYYYMMDD

    public String szTwoIdAddress; // 住址 UNICODE

    public String szTwoIdNo; // 身份证号码 UNICODE

    public String szTwoIdSignedDepartment; //  签发机关 UNICODE

    public String szTwoIdValidityPeriodBegin; // 有效期起始日期 UNICODE YYYYMMDD

    public String szTwoIdValidityPeriodEnd; // 有效期截止日期 UNICODE YYYYMMDD 有效期为长期时存储“长期”

    public String szTwoIdNewAddress; // 最新住址 UNICODE

    public byte[] arrTwoIdPhoto; // 照片信息

    public byte[] arrTwoIdFingerprint; // 指纹信息

    public String   szSNID;

    public String   szDNID;

    public String  szTwoOtherNO; // 通行证类号码

    public String  szTwoSignNum;// 签发次数

    public String  szTwoRemark1;// 预留区

    public String  szTwoType;// 证件类型标识

    public String  szTwoRemark2;// 预留区

}

        到此身份证就解码完了。当然中间需要打开NFC设备,并且监听NFC设备的操作需要用户自己添加,这个功能在网上有很多介绍,这里我就不介绍了。
        如果还有哪些朋友不明白怎么用的话,我的上传了demo的源码,直接 下载下来用android studio打开后编译一下就可以使用了。下面两个链接都可以下载

        https://www.yzfuture.cn/views/service/index.html?ap=download-center

          https://github.com/yzfuture/yzfuture

分享到:
评论

相关推荐

    安卓读取二代身份证完整代码

    在安卓平台上,通过NFC(Near Field Communication)技术读取二代身份证信息是一项常见的功能,尤其在需要验证用户身份的应用场景中。本项目提供了一个完整的代码实现,可以直接在Android Studio环境中编译并运行,...

    NFC手机读二代证实名制源码范例

    这是基于Android系统的NFC阅读二代证的范例,Android手机NFC实名制必须具备以下条件。 1、Android手机自带NFC功能,如果没有NFC功能的手机支持OTG功能可以外接type B协议的智能卡读卡器也行。 2、仅仅是范例源码,...

    安卓NFC读身份证源码

    - 身份证信息存储:二代身份证内置RFID芯片,其中包含了持证人的个人信息,如姓名、性别、出生日期、住址等。 - ISO/IEC 14443标准:身份证信息通常遵循ISO/IEC 14443标准,这是一个非接触式智能卡标准,NFC设备...

    NFC身份证读取参考代码

    身份证读取通常涉及到的硬件是NFC模块,它可以连接到智能手机、电脑或其他设备上。在软件层面,我们需要一个能够处理APDU命令的应用程序来与身份证交互。APDU命令是按照ISO 7816标准定义的,它由命令码、参数和可能...

    使用安卓手机NFC读取完整的身份证明文信息,包括身份证号、姓名、名族、性别、住址、头像、出生日期、有效期等信息

    深圳市德科物联技术有限公司的手机NFC读取身份证明文信息Demo。更多信息请访问德科官网。 如何集成到项目中 Step 1. Add the JitPack repository to your build file 打开根build.gradle文件,将maven { url '...

    Android系统NFC手机读身份证(二代证).zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    二代身份证云解码 多语言支持

    二代身份证内置的NFC芯片使得在手机、读卡器等设备上无接触地读取信息成为可能,增强了操作的便利性和用户体验。 7. **安全与隐私保护**:在处理敏感的个人信息时,系统必须遵循严格的安全标准和隐私保护政策,防止...

    手机NFC读取二代证卡开发包.zip

    在手机NFC读取二代证卡开发包中,它被用来读取和处理身份证、护照等证件的信息,提供了高效、准确且安全的数据获取方式。 首先,"二代证"是指中国第二代居民身份证,其内嵌有RFID芯片,存储了持证人的个人信息。...

    森锐身份证 NFC识别Android+IOS源码+SDK

    6. **安全与隐私保护**:使用NFC识别身份证时,应确保遵循相关法律法规,保护用户隐私。SDK通常会提供加密和解密机制,以防止敏感信息在传输过程中被窃取。开发者需要合理设计应用程序,避免滥用或泄露用户数据。 7...

    android_IDCardDemo读取二代证

    在Android应用开发中,读取二代身份证信息通常不直接通过手机硬件实现,因为大多数手机并不具备内置的身份证读卡器。而是通过以下两种常见途径: 1. **外接读卡器**:连接一个支持ISO 14443标准的身份证读卡器到...

    FM175XX_MifareCard读卡参考代码.rar_FM17520代码_FM175XX配置_fm175读身份证_二代证读卡

    使用FM175XX读取二代身份证时,首先需要获取卡片的UID(唯一标识符),然后根据规定的指令集读取其他相关信息。由于身份证数据的安全性要求,读取操作通常受到严格限制,只能获取部分公开信息。 在配置FM175XX时,...

    利用android手机NFC

    利用安卓手机自带的NFC读取身份证信息的源码,编译工具是android studio,打开应该就可以使用,解码采用云解码方式。...免费送大家分享,欢迎一起学习探讨

    安卓平台身份证识别云解码SDK

    本SDK支持二代身份证、护照及EID的读取。 护照及EID功能开通需要单独向公司申请,联系方式请见文档封面。 NFC读卡用于支持NFC的安卓设备上。 OTG读卡用于支持USB的安卓设备上(USB口需要配套我公司专门证件读卡器)...

    android手机二代证控件调用方法说明(NFC).doc

    在Android平台上,二代身份证的调用方法主要涉及到NFC(Near Field Communication)技术,用于读取身份证中的RFID芯片信息。以下是对这个过程的详细解释: 首先,我们需要一个名为`OTGReadCardAPI`的Java库,这个库...

    NFC测试软件

    4. **身份识别**:NFC在二代身份证读卡器中的应用,可以方便地读取身份证上的电子信息,例如个人身份信息、证件照片等,广泛用于车站、机场的安全检查或公共服务场所的身份验证。 5. **公共交通**:许多城市的公交...

    安卓读取身份证编译好的apk

    使用前请先打开NFC功能,其次用身份证靠近手机NFC芯片位置并且保持不动1~2秒,读取过程中没有对准芯片或有移动,可能会导致读取失败。 这个demo是针对我的资源里面“安卓读取二代身份证完整代码”生成的可安装apk,...

    安卓平台身份证识别云解码工具

    支持二代证NFC及OTG读卡,使用简单方便 通过云解码技术对身份证、护照、港澳通行证进行识别,与专业信息库进行对比,鉴别信息真伪。通过云解码技术对身份证、护照、港澳通行证进行识别,与专业信息库进行对比,实现...

Global site tag (gtag.js) - Google Analytics