zoukankan      html  css  js  c++  java
  • 解决身份证挂失的问题

    身份证挂失了,别人捡到了还能用,失主为了在法律上规避责任,需要登报声明自己的身份证已经丢失。本地的一份报纸,或全国性的报纸应该也可以。其意思就是假设社会各机关都能看到这报纸的,所以我丢失身份证这事大家都知道了。

    二代证仍然有这个问题吧。

    当然这个问题并不难解决,相信很多码农都有办法解决 (其实我也是几年之前就想写出来了,呵呵)。下面提供一个基本的设计,供公安部的研发同行参考:
    (1) 制作身份证时,内嵌一个version字段,version表示版本号,取值可以为1~255。也就是说,在用读卡器读取身份证时,能够读取身份证号、version号。
    (2) 系统数据库中添加一个status字段,一个version字段。status表示当前状态,可用状态、或挂失状态。version表示版本号。

    在任何时候,用户持身份证办理业务时,银行只需要连接公安部的身份系统数据库、检查以下条件是否同时满足:
          -  数据库中此人的status = "可用"状态
          -  数据库中的version = 身份证的version


    分析各种场景:
    一、初次申领
    用户拿着户口本和其他证明材料去派出所,派出所做以下操作:
       - 发放身份证:  version = 1
       - 修改数据库:  version = 1,  status="可用"

    二、挂失
    用户拿着户口本和其他证明材料去派出所,派出所做以下操作:
       - 修改数据库:  status="挂失"

    三、解除挂失
    用户拿着户口本和其他证明材料去派出所,派出所做以下操作:
       - 修改数据库:  status="可用"

    四、发放新身份证
    用户拿着户口本和其他证明材料去派出所,派出所做以下操作:
       - 修改数据库:       version加1,   status="可用"
       - 发放新身份证: version加1
    【注:所谓version加1,就是说在原来version的基础上递增,如果原来的version=1,则新version=2即可】 

    可见,通过这种机制,身份证的挂失和解挂都很容易进行。身份证挂失期间,捡拾身份证的人无法冒用。身份证换新证之后,旧的身份证自动作废。

    当然,在实施时必须要求业务机构能够访问到身份系统数据库,如果根本没有能力联网检查那就算了。

  • 相关阅读:
    if elseif else
    java编程思想第四版中net.mindview.util包
    eclipse git插件配置
    php面试常用算法
    数据库字段类型中char和Varchar区别
    MySQL的数据库引擎的类型及区别
    windows系统中eclipse C c++开发环境的搭建
    launch failed.Binary not found in Linux/Ubuntu解决方案
    技术团队的情绪与效率
    如何有效使用Project(2)——进度计划的执行与监控
  • 原文地址:https://www.cnblogs.com/james1207/p/3317948.html
Copyright © 2011-2022 走看看