国家身份z信息库,全国身份z号验证及查询系统

国家身份z信息库,全国身份z号验证及查询系统,第1张

用python制作“全国身份z号验证及查询系统”,成品界面如下图:

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

本系统可以实现身份z号真伪验证,年龄、性别及发证地查询,看起来是不是很高大上,其实做起来不是很复杂,涉及知识主要有python字符串处理、表格读写和Gui制作,适合有一定python基础的朋友练手,下面一起来看看怎么实现的吧!

第一步:身份z号解析

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

身份z号一般由18位号码组成,前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。6位地址码为编码对象户口所在县(市、区)的行政区划代码;8位出生日期码为出生年月日;3位顺序码为县(市、区)所辖派出所的分配码,顺序码的奇数分配给男性,偶数分配给女性;1位校验码是按统一公式计算出来的。

第二步:归类整理地址码与区县对应关系

这个网上比较常见,随便搜索1个身份z号都会返回所在的区县地址,我们要做的是把所有的对应关系都找到,恰巧网上已经有现成的了,不过要稍加整理,大家可以去网上找一下,但是要擦亮眼睛啊,有一个版本是错的,实在找不到的可以联系我,我已经整理好存入表格中

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

第三步:验证身份z号真伪

身份z最后一位校验码算法如下:①将身份z号码前17位数分别乘以不同的系数,从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2②将得到的17个乘积相加。③将相加后的和除以11并得到余数。④余数可能为0 1 2 3 4 5 6 7 8 9 10这些个数字,其对应的身份z最后一位校验码为1 0 X 9 8 7 6 5 4 3 2。代码实现如下:

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

第四步:查询地区

规则参考第一步,python两行代码就搞定了

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

不得不说,python就是简单方便

第五步:计算出年龄及性别

规则同样参考第一步,代码如下:

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

到此为止,项目的主体功能已经实现,下面要想办法用GUI界面实现。

第六步:制作GUI界面

本步骤主要用PyQt5实现,下面我把核心代码贴出来:

首先是以网格方式对标签及文本框进行布局,并用setStyleSheet对文本框进行修饰

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

然后是设置查询按钮并布局,再与check函数(信号)绑定

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

接着是在check函数中将查询到的结果在文本框中显示出来

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

最后设置主窗口图片背景

国家身份z信息库,全国身份z号验证及查询系统,制作全国身份z号验证及查询系统,第2张

 

到此为止,本项目就大功告成了,你学会了吗?

但是要声明一下,本文所介绍的查询功能均为正向查询,即在已知身份z号的前提下,解析原则来源于网络,不敢保证100%准确,更不能反向推算出个人身份z号,所以不涉及侵犯隐私问题。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/5742052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-28
下一篇 2022-12-28

发表评论

登录后才能评论

评论列表(0条)

保存