近年来,随着业务量的不断增加,人工录入方式越来越难以满足高效办理业务的需求,而且越来越多的移动 APP涉及到个人身份证信息的实名认证,为了提高在移动终端上输入身份证信息的速度和准确性,一种可以识别并提取身份证上文字信息的技术接口应运而生,即身份证 OCR 识别 API 接口。
以下是一个杭州数勋科技的身份证OCR识别的示例代码,用于展示如何通过Java实现身份证 OCR 识别 API 接口。
import com.shuxun.common.core.util.HttpUtil;
import org.apache.commons.codec.digest.DigestUtils;import java.util.HashMap;
import java.util.Map;public class IdCardOcrDemo {private static final String APP_KEY = "您的appKey";private static final String APP_SECRET = "您的appSecret";private static final String API_URL = "https://api.shuxuntech.com/v1/idCard/ocr";public static void main(String[] args) {String timestamp = System.currentTimeMillis()+"";String sign = DigestUtils.sha256Hex(APP_KEY + timestamp + APP_SECRET);Map<String, String> header = new HashMap<>(4);header.put("appKey", APP_KEY);header.put("timestamp", timestamp);header.put("sign", sign);Map<String, String> params = new HashMap<>(2);params.put("image", "");params.put("imgUrl", "");// 工具类下载地址 https://file.shuxuntech.com/other/code/util.zipString result = HttpUtil.postForm(API_URL, header, params);System.out.println("返回结果="+result);}
}
返回的数据
正面数据
"code": "0","msg": "成功","isFee": 1,"seqNo": "0harl9qk12a2cav0mmy25uufl3df4uid","data": {"result": 1,"resultDesc": "识别成功,有数据","info": {"side": "front","type": 1,"front": {"birthday": "1990-01-21","address": "杭州市余杭区仓前街道某某小区1幢801室","gender": "男","race": "汉","name": "张三","idCard": "330110199001212311"},"back": null}}
}
反面数据
"code": "0","msg": "成功","isFee": 1,"seqNo": "n2d8oo1qzxhgf9t399lairvfflztkh49","data": {"result": 1,"resultDesc": "识别成功,有数据","info": {"side": "back","type": 1,"front": null,"back": {"issuedBy": "杭州市公安局余杭分局","validDate": "2021.06.21-2041.06.21"}}}
}
错误数据
{"code": "1","msg": "参数错误","isFee": 0,"seqNo": null,"data": null
}
不过需要注意的是,实际应用中你需要先获取合法的 API 密钥等相关配置信息,并根据具体使用的 API 提供商的文档来准确实现完整功能。
以上数据均来自于杭州数勋科技的身份证OCR识别API接口相关内容。
杭州数勋科技API提供各种热门API接口,免费试用,价格优惠,接入简单,注册就赠送测试金。