美文网首页
软件开发真人认证那点事(从网易易盾功能及身份证读卡器分析)

软件开发真人认证那点事(从网易易盾功能及身份证读卡器分析)

作者: 青岛大桥_Android到后端 | 来源:发表于2020-03-11 11:28 被阅读0次

1.互联网真人认证及身份证认证相关

https://dun.163.com/product/certification?from=baiduP_XXRZ_C190530P2#scene

image.png

实证认证

提交姓名、身份证号、身份证正反面信息
用于电商、游戏、直播、金融等需要身份证证件的场景

实人认证

提交姓名、身份证号、用户人像照信息,判断用户头像是否为身份证本人

活体检测

根据提示,做出相应动作:张嘴、眨眼,左转头等,SDK实时采集动态信息,判断用户动作是否正确,从而判断是否为活体、真人
常与实人认证业务搭配使用,活体检测成功后,会留下一张正面人像照,用于实人认证

2. 身份证读卡器

windows,各家身份证读卡器厂家都提供API。 在android上也有越来越多的厂家提供了,

//先扫描卡, 其中devPath指的是设备访问结点(串口或USB文件节点)
  StartFindIDCard(devPath)
//再选择卡
  SelectIDCard(devPath)
//再读基本信息的字符串
 CardMsg cardMsg = new CardMsg();
 int ret = ReadBaseMsgToStr(cardMsg);
// 展示信息
if(ret==0){
  show =   "姓名:"+cardmsg.name+'\n'
  +"性别:"+cardmsg.sex+'\n'
  +"民族:"+cardmsg.nation_str+"族"+'\n'
  +"出生日期:"+cardmsg.birth_year+"-"+cardmsg.birth_month+"-    "+cardmsg.birth_day+'\n'
  +"住址:"+cardmsg.address+'\n'
  +"身份证号码:"+cardmsg.id_num+'\n'
  +"签发机关:"+cardmsg.sign_office+'\n'
  +"有效期起始日期:"+cardmsg.useful_s_date_year+"-    "+cardmsg.useful_s_date_month+"-"+cardmsg.useful_s_date_day+'\n'
  +"有效期截止日期:"+cardmsg.useful_e_date_year+"-    "+cardmsg.useful_e_date_month+"-"+cardmsg.useful_e_date_day+'\n';

bm = cardmsg.photo;//这就是照片信息,未解码之前的
byte[] bdata = null;

//关键的照片解码,是被封装成工具库了
  WltDec dec = new WltDec();
  byte[] bip = dec.decodeToBitmap(bm);
  Bitmap bp = BitmapFactory.decodeByteArray(bip, 0, bip.length);
  if(bp != null)
  {
        image.setImageBitmap(bmpResize(bp));
  }
}

3 我的小总结

  1. 手机线上要求安全高的应用场景可能是这样:让用户输入身份证号和姓名,缓存本地。 然后活体检测,拍发正面人像照再调实人认证

在这个过程中,用户输入身份证号和姓名,可以用身份证OCR识别来做辅助输入

  1. 线下要求安全一般的应用场景: 比如一般的酒店前台,刷身份证读出姓名和身份证号以及证里的解码照片。 人工肉眼比对。这时候只需要身份证读卡器的API即可。

相关文章

网友评论

      本文标题:软件开发真人认证那点事(从网易易盾功能及身份证读卡器分析)

      本文链接:https://www.haomeiwen.com/subject/omifjhtx.html