怎么判断身份证正面跟背面来自同一张身份证?

问题是这样的,我现在有一张身份证正面图片跟身份证背面图片,我用阿里云证件识别接口分别可以识别出证件正反面的信息,但是没办法通过识别的信息识别是不是来自同一张身份证,不知道社区的大佬有没有做过类似需求呢?
阿里接口返回信息:

正面返回结果:
{
    "address"    : "浙江省杭州市余杭区文一西路969号",   #地址信息
    "config_str" : "{\"side\":\"face\"}",    #配置信息,同输入configure
    "face_rect":{       #人脸位置
        "angle": -90,   #angle表示矩形顺时针旋转的度数
        "center":{      #center表示人脸矩形中心坐标
            "x" : 952,
            "y" : 325.5
        },
        "size":{        #size表示人脸矩形长宽
            "height":181.99,
            "width":164.99
        }
    }, 
    "card_region":[  #身份证区域位置,四个顶点表示,顺序是逆时针(左上、左下、右下、右上)
       {"x":165,"y":657},
       {"x":534,"y":658},
       {"x":535,"y":31},
       {"x":165,"y":30}
    ],
    "face_rect_vertices":[  #人脸位置,四个顶点表示
        { "x":1024.66, "y":336.62 },
        { "x":906.66,   "y":336.14},
        { "x":907.15,   "y":214.14},
        {"x":1025.15,  "y":214.63}
     ],
    "name" : "张三",                 #姓名
    "nationality": "汉",            #民族 
    "num" : "1234567890",            #身份证号
    "sex" : "男",                    #性别
    "birth" : "20000101",            #出生日期
    "nationality" : "汉",            #民族
    "success" : true                 #识别结果,true表示成功,false表示失败
}
反面返回结果:
{
    "config_str" : "{\"side\\\":\"back\"}",  #配置信息,同输入configure
    "card_region":[    #身份证区域位置,四个顶点表示,顺序是逆时针(左上、左下、右下、右上)
         { "x":212,    "y":371},
         { "x":2188,  "y":350},
         { "x":2201,  "y":1607},
         { "x":225,    "y":1627}
     ],
    "start_date" : "19700101",       #有效期起始时间
    "end_date" : "19800101",         #有效期结束时间
    "issue" : "杭州市公安局",         #签发机关
    "success" : true                 #识别结果,true表示成功,false表示失败
}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

最终的办法就是验证背面的有效期是否过期,再匹配下签发机关地址(例如:杭州市公安局,就取杭州市)是否包含在正面用户地址(例如:浙江省杭州市余杭区文一西路969号)里面,同时满足这两个条件,直接放行~ :joy:

2年前
讨论数量: 24

或者有没有第三方服务推荐呢?

2年前

这个是啥场景? 还有两张不同的身份证?

2年前
fatrbaby

应该不行。你能对比的只有地址和发证机关,如果同一地区的两张你就区分不出来了。

2年前

@liaosp 一张正面图片,一张背面图片,就是不能确定这两张正反面身份证图片来自同一张身份证 :joy:

2年前 评论
liaosp 2年前

这种不能,得知道身份证号和过期时间的关联才行

2年前

我也觉得不能,不过老板说肯定可以的,怎么破? :joy:

2年前 评论
Joker-smile (作者) (楼主) 2年前
a727910225 2年前
Joker-smile (作者) (楼主) 2年前
a727910225 2年前
a727910225 2年前

录屏可以解决。至于识别就提取其中一帧来识别号码。

2年前

图片文件做md5_file呢

2年前

静态的话身份证号码判定有效期,地址判定发证机关,除非能对接到号码认证接口,好像没有。

2年前 评论
荒街! 2年前
OnlyRed 2年前

目前应该没有

2年前
随波逐流

可以验证之前把文件md5_file($filename)做为key并缓存验证结果, 下次验证的时候先对文件进行散列判断从缓存中获取数据, 同时也可以判断是否是同一个文件.

2年前
2年前 评论
fatrbaby 2年前
忆往昔弹指间 (作者) 2年前

能够校验出身份证信息在国徽面识别出的有效期内就可以了吧

2年前

判断匹配背面的有效期和查询身份证号的有效期时间不行吗?

2年前

@MArtian 没办法根据身份证号查询到有效期

2年前

简单,让用户同时把正反面拍到同一张照片上 :smirk:

2年前 评论
MArtian 2年前

这个需求的意义是什么啊?重要信息都是在背面的人像面,正面就一个过期时间,有啥用?

2年前

@如梦又似幻 没啥意义,不过老板比较犟

2年前

正面信息对了就可以了。反面没用

2年前

最终的办法就是验证背面的有效期是否过期,再匹配下签发机关地址(例如:杭州市公安局,就取杭州市)是否包含在正面用户地址(例如:浙江省杭州市余杭区文一西路969号)里面,同时满足这两个条件,直接放行~ :joy:

2年前

@惊风破浪 老板爱钻牛角尖 :joy:

2年前

@wade 讲了,老板退一步,不纠结一定要完全一致

2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!