首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python计算身份证第18位(校验码)来判断身份证是否输入正确

从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。...其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。 通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。...例如:某女性的身份证号码是220202202002020022。我们要看看这个身份证是不是合法的身份证。 首先我们得出前17位的乘积和是98,然后用98除以11得出其余数是10。...所以,可以判定这是一个合格的身份证号码。...用Python实现 lis = list(input('请输入身份证号码:')) ten = ['X', 'x', 'Ⅹ'] ID = ["10" if x in ten else x for x in

4.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

Python|趣解身份证号码的奥秘

问题描述 作为一个公民,每个人都有一张独一无二的身份证,有独一无二的身份证号码。在这里面几乎储存了我们所有的行踪与信息,所以有很多不法分子能够仅通过身份证号码进行一些犯罪活动。...解决方案 通过简单的查询,我们不难知道,其实身份证号码虽然独一无二,但其生成的规律确是固定的,仅仅通过公式便能确定一个身份证号码是否正确,反之也可以通过一个确定正确但不完整的身份证号码来反推完整信息。...其分别对应的最后一位身份证的号码为1 .0. X. 9. 8. 7. 6. 5. 4. 3. 2.,这样就得到自己的校验码,读者当然可以自己试试自己的身份证号码。...虽然我们知道,就算硬算,也不过366种尝试就能得到结果,但学习语言就是为了简化,所以笔者自己写了一段判断身份证是否正确和大致推算身份证号码的代码,读者可以自己试试是否有效。...Python代码:判断身份证号是否真实 def ID_Card_judgment(ID_num): list1 = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2

1.3K20

PYTHON验证身份证号码准确性

大家每个人都有身份证,但是认真研究过自己那18位居民身份证号码的人可能真的不多,今天就跟大家简单聊一下身份证号码的构成形式及最后一位验证码的验证办法。...最开始呐先向大家介绍一下身份证号码的生成规则,特意找了一个最官方的文档,以下内容摘选于国家质量技术监督局编制的GB11643-1999《公民身份号码》 那么根据官方公布的以上五项标准,我们就可以自行提炼出一个居民身份证号码必须满足的一些条件了...没关系,简单翻译并且加工一下就是: 1.身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 2.前17位数字和系数相乘的结果相加 3.相加的数据除以11,...得出余数 4.余数有0-10这11个数字,分别对应的身份证最后一位校验码为1,0,X,9,8,7,6,5,4,3,2(这个X其实是罗马数字的10) 根据以上我们提炼的规则我们就可以利用一些算法工具在一些简单的层面上去验证一个身份证号码的真假了...,用EXCEL、SAS、R、SQL、PYTHON都是可以的,下面我用PYTHON来示范一下,最终效果如下: 最后不废话放出代码: 上面那段代码中其实并没有把上面那五个条件都列入,感兴趣的话可以看一下是哪些条件没有列入

3.2K90

新旧身份证(继承)

身份证第18位校验码的生成方法: 1、将身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2。然后将其相加。...也即:如果余数是3,身份证第18位就是9。如果余数是2,身份证的最后一位号码就是X。...确认15位身份证正确. 2. 确认18位号码是从15位号码扩展的,且第18位校验码正确. 3. 身份证中的出生日期合法. 4. 身份证号码中不含非法字符. 5. 身份证号码的长度正确. 6....身份证目前处于有效期内. (2017年5月10日) 输入 测试数据的组数 t 第一个人姓名、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) 第二个人姓名...、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) ......

21730

Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息

2、安装成功后,开始来使用这个库 (1)、首先,输入命令 python: ?...(3)、依次输入下面的命令,来看下校验结果,返回False,校验身份证合法性失败,返回True,校验身份证合法性成功: validator.is_valid(‘440308199901111512’)...’) #港澳18位身份证 validator.is_valid(‘830000199201300022’) #台湾18位身份证 ?...') # 港澳居民居住证 18 位 validator.is_valid('830000199201300022') # 台湾居民居住证 18 位 获取身份证号信息(解析身份证号) 当身份证号合法时,返回分析信息...id_validator验证身份证号合法性及根据身份证号返回住址等信息,更多关于Python开发技巧请查看下面的相关链接

1.4K21

Python随机生成身份证号码及校验功能

身份证号码从右至左标记为a_1 , a_2 , cdots , a_{18},a_1即为校验码; ?2....4. a_1=(12-( S bmod 11)) bmod 11 使用Python获取身份证校验码: def get_check_digit(id_number): """通过身份证号获取校验码"...:False [√]: 代码地址: https://github.com/jayknoxqu/id-number-util 总结 以上所述是小编给大家介绍的Python随机生成身份证号码及校验功能,希望对大家有所帮助...您可能感兴趣的文章: Python随机生成彩票号码的方法 Python实现随机生成有效手机号码及身份证功能示例 Python生成随机数的方法 python 生成不重复的随机数的代码 Python生成不重复随机值的方法...Python生成随机MAC地址 Python随机生成信用卡卡号的实现方法 Python简单生成随机姓名的方法示例 Python实现随机创建电话号码的方法示例

4.8K31

56行Python代码实现身份证字典生成器

------ 0x00 前言 最近过生日,女朋友送了几本Python黑客编程的书(没错,小黑阔也是可以有女朋友的)。哈哈,皮一下就是很开心。...言归正传,最近看这几本Python黑客编程的书有点上头,感觉理论是有了,就是没有实践。然后我就盯上了我们学校教务处(滑稽脸)。看着账号密码的输入框,对着电脑相视一笑,搞一波?...我们学校的教务处系统默认密码为身份证号码,于是我就打算写一个自动生成身份证号字典的Python脚本。只要能生成一个字典,就能靠Burpsuite的Intruder功能提交Web表单,实现暴力破解。...例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证。...这样列出来的男性身份证号的字典有500种可能,女性身份证号码的字典则有499种可能。 0x04 代码分析 import os #根据地址码,出生日期码,性别生成身份证号码字典函数。

9.6K30
领券