近年来,随着业务量的不断增加,人工录入方式越来越难以满足高效办理业务的需求,而且越来越多的移动 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.zip
String 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接口,免费试用,价格优惠,接入简单,注册就赠送测试金。