在 S5PV210平台上实现二代身份证解码,安卓系统,可以获取全部文字信息以及电子照片 二代居名身份证阅读器是公安部第一研究所证件技术事业部利用国际上先进的 TypeB非接触 IC卡阅读技术,通过内嵌的专用身份证安全控制模块(SAM),以无线传输方式与第二代居民身份证内的专用芯片进行安全认证后,将芯片内的个人信息资料读出,再通过各种通讯接口,将此信息上传至各种处理终端。由处理终端将这些信息解码成文字和相片进行显示或者存储。 首先、你得拥有公安部指定厂家生产的专用身份证安全控制模块(SAM)以及与之配套的 CPU板以及天线,有了以上硬件,才能进行读卡操作,本人实验平台是基于九鼎创展科技的 X210II开发板,开发平台如图所示: 有了以上准备工作后,我们就可以进行具体的开发工作了,首先我们需要定义一个 JNI接口,包装与身份证阅读模块间的各种通信指令,包括找卡、选卡、读卡等等,主要参考资料中国标准出版社出版的 GA标准 “GA 467-2013 居民身份证验证安全控制模块接口技术规范” public class idcard { static { System.loadLibrary("idcard"); } public final static native String version(); public final static native int open(String path, int baud); public final static native boolean close(int fd); public final static native boolean reset(int fd); public final static native boolean check(int fd); public final static native byte[] readSerialNumber(int fd); public final static native byte[] readManageAccount(int fd); public final static native boolean findCard(int fd); public final static native boolean selectCard(int fd); public final static native byte[] readCard(int fd); public final static native byte[] readCardAppend(int fd); } 译码类,主要将读到的字节信息,文字已解码,图片未解码,转为可读信息,用于各种控件的显示 package org.xboot.idcard; import java.io.FileInputStream; import java.io.UnsupportedEncodingException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import com.ivsign.android.IDCReader.IDCReaderSDK; public class decode { private byte[] buffer; private String temp; ...