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

【Go】根据身份证(或生日)计算年龄

1)根据身份证信息得到用户出生年月日2)根据出生年月日计算用户当前年龄身份证规则18身份证号码:18的第二代身份证号码是特征组合码,由十七位数字本体码和一校验码组成。...排列顺序从左至右依次为:六数字地址码、八数字出生日期码、三数字顺序码和一数字校验码。...15身份证号码: 1、第l一6数为行政区划代码;是指公民第一次申领居民身份证时的常住户口所在地的行政地区。...2、第7—12数为出生日期代码; 第7、8为出生年份(两位数),第9、10为出生月份,第11、12代表出生日期。...实例代码package mainimport ("fmt""strconv""time")// getBirthday 根据身份证获取对应生日func getBirthday(cardId string

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

身份证最后一算法

前段时间的攻击中,我获取了目标的身份证号码,结果缺少最后一 在经过多次查阅后得出以下资料 (一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一校验码组成。...排列顺序从左至右依次为:六数字地址码,八数字出生日期码,三数字顺序码和一校验码。 ...2、出生日期码    表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。 ...4、校验码计算步骤 (1)十七位数字本体码加权求和公式    S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17数字的权求和    Ai:表示第i位置上的身份证号码数字值...  Y = mod(S, 11) (3)根据模,查找得到对应的校验码    Y: 0 1 2 3 4 5 6 7 8 9 10    校验码: 1 0 X 9 8 7 6 5 4 3 2 (二)根据17数字本体码获取最后一校验码程序实例

1K40

根据身份证号码自动生成出生日期、性别、年龄

标签:Excel技巧 有时候,我们需要根据身份证号码来自动生成出生日期、性别和年龄,有多种方法来实现,下面介绍几种,供参考。 首先,我们来生成出生日期。...方法1:使用分列功能 选择要生成出生日期的身份证号码,单击功能区“数据”选项卡“数据工具”组中的“分列”。在弹出的“文本分列向导”对话框中,选择“固定宽度”,如下图1所示。...图1 单击“下一步”,在“数据预览”中,单击代表出生日期的数字两侧,添加分隔线,如下图2所示。...可见,在单元格D2中已经拆分出了出生日期。 图4 此时,我们可以删除列C和列E,仅保留出生日期列。...图8 而性别由身份证倒数第二指定,奇数代表男性,偶数代表女性,示例公式如下: =IF(ISODD(MID(B2,17,1)),"男","女") 结果如下图9所示。

39810

涨姿势:用Python完成1518身份证的互转

image 最近工作中刚好要清洗一批客户数据,涉及到身份证号码15和18的转换,特意研究了下,在这里分享下。 身份证号码的构成 既然谈到了身份证转换,那就需要先了解下证件号码的构成。 ?...image 公民身份号码是特征组合码,由十七位数字本体码和一数字校验码组成; 排列顺序从左至右依次为:六数字地址码,八数字出生日期码,三数字顺序码和一数字校验码。...六数字地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按 GB/T 2260 的规定执行。 八数字出生日期码:表示编码对象出生的年、月、日,按 GB/T 7408 的规定执行。...某人出生日期为 1995年08月12日,其出生日期码为 19950812。...解决思路 15转18:即身份证号码的前六数字 + '19' + 身份证第六以后的数字 + 校验码 (不要问我为什么加19这种白痴(´⊙ω⊙`) @?¥&?

1.9K10

PHP校验15和18身份证号的类封装

新公司框架源码的时候,发现了这个功能,于是搜索一番并封装了一下身份证号校验的类。 目前大家的身份证号大多是 18 的,当然,也不排除有些老人的身份证号是 15 的。...如果强制要求是 18 的话,会比较好,因为 15 身份证号没有校验码,可以说,只要了解大概结构,随手都可以造出一系列身份证号码来。...身份证号规则 15:省份(2) + 地级市(2) + 县级市(2) + 出生年(2) + 出生月(2) + 出生日(2) + 顺序号(3) 18:省份(2) + 地级市(2) +...县级市(2) + 出生年(4) + 出生月(2) + 出生日(2) + 顺序号(3) + 校验(1) 相比之下, 18 比 15 多出生年 2 、校验 1 。...当然,因为可能部分人用的是 15身份证号,所以需要一个转换的办法,不过,这里还是建议限制需要 18身份证号。

1.1K41

PHP实现15身份证号转18的方法分析

本文实例讲述了PHP实现15身份证号转18的方法。...分享给大家供大家参考,具体如下: 第一代身份证:15身份证号码的意义 1-2省、自治区、直辖市代码; 3-4地级市、盟、自治州代码; 5-6县、县级市、区代码; 7-12出生年月日...,比如670401代表1967年4月1日,这是和18号码的第一个区别; 13-15为顺序号,其中15男为单数,女为双数; 与18身份证号的第二个区别:没有最后一的校验码。...第二代身份证:18身份证号码的意义   ①前1、2数字表示:所在省份的代码,河南的省份代码是41哦!   ...数字表示性别:奇数表示男性,偶数表示女性;   ⑦第18数字是校检码:也有的说是个人信息码,一般是随计算机随机产生,用来检验身份证的正确性。

79121

Python - 生成身份证后6字典

最近突发奇想,想写一个小脚本来生成一个身份证后6的小字典。因为学校有时候会发布的一些统一的账号表,例如校园网的账号密码,通常账号名为学号,密码则为身份证后6,所以有时候可能会派上用场 ? ?...首先需要了解一下身份证号码结构: 1~6,地址码,常住户口所在地的行政区划代码 7~14,出生年月日 15~17,顺序码,且第17由性别决定。...出生年月日 001,第17为1即男性 0,最后一为校验码 如果需要爆破后6,即身份证的第13~18,那么就有10*10*10*10*10*11(最后一有0~X共11)种可能 后6中的第1...,即出生日期的十,只能为0~3,即4*10*10*10*10*11 而如果是针对某人而写的字典,知道目标的性别,那么第5就可以减掉一半。...男性为1/3/5/7/9,女性为0/2/4/6/8,即4*10*10*10*5*11 同时,如果知道目标的出生日期(学校发的很多信息表中都会包含出生年月日等信息),即第1~2也可以确定了。

2.4K30

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

从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15升至18。...前6为地址码;第七至14为出生日期码,此码由6数改为8数,其中年份用4数表示;第15至17为顺序码,取消了顺序码中对百岁老人使用的特定编号;第十八位为校验码,主要是为了校验计算机输入公民身份证号码的前...校验码计算方法 将前面的身份证号码17数分别乘以不同的系数。从第一到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。...其分别对应的最后一身份证的号码为1-0-X-9-8-7-6-5-4-3-2。 通过上面得知如果余数是2,就会在身份证的第18数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一号码就是2。...例如:某女性的身份证号码是220202202002020022。我们要看看这个身份证是不是合法的身份证。 首先我们得出前17的乘积和是98,然后用98除以11得出其余数是10。

4.3K30

正则表达式 - 18身份证

一、身份证号规则         18身份号码是特征组合码,由十七位数字本体码和一校验码组成。排列顺序从左至右依次为:六数字地址码,八数字出生日期码,三数字顺序码和一校验码。...其中前两为省份编码。 出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4、2、2数字表示,之间不用分隔符。...三、18身份证号码验证函数(MySQL) delimiter // CREATE FUNCTION `fn_checkidcard`(p_idcard varchar(100)) RETURNS varchar...');           else              return ('身份证校验错误');           end if;       else          return ('身份证格式错误...');       end if;     else        return ('身份证号码不是18');     end if; end // delimiter ;

80420

VBA从身份证获取信息

1、需求: 从身份证号里提取出出生日期、性别。 2、举例: 接着上一次的例子,表格汇总完成后,你又得到了一个任务,需要对表格的数据进行处理,需要增加出生日期、性别。...可是你一看表格,完了,没有收集出生日期、性别这些信息! 难道要重新收集一次? 3、代码实现 身份证编码是有规律的,只要知道了规律,我们就能够从中提取出自己所需要的数据。...baidu一下身份证编码规则就能知道,18身份证规则: 前1、2数字表示:所在省(直辖市、自治区)的代码; 第3、4数字表示:所在地级市(自治州)的代码; 第5、6数字表示:所在区(县、自治县、...县级市)的代码; 第7-14数字表示:出生年、月、日; 第15、16数字表示:所在地的派出所的代码; 第17数字表示性别:奇数表示男性,偶数表示女性; 第18数字表示:校检码 15身份证规则:...) Else d.Result(i - 1, ResultEnum.出生日期) = "身份证号码有误" End If Next

1.5K50

用Python写一个身份证号码校验系统

以上,如果我们输入一个正确的身份证号码,系统可以正常解析;但是篡改其中一的话,校验结果直接显示无效;如果少输入一的话,系统会提示“请输入18”。 二、认识身份证号码 身份证号码的构成如下: ?...检查校验码 (1) 对身份证号码进行切片 首先我们把获取到的身份证号码分成地区码、生日码、顺序码、校验码,四个部分,存储在列表id_list[]中。...获取身份证号码的前17存储在number中,然后对17数字分别乘以系数[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],累加得出结果后对11进行取余,将获得的结果作为索引取出列表...效果演示: 情况一:输入的身份证号码不满18(我们故意输入17): ? 身份证号码输入位数不足的情况 情况二:最后一校验错误(本来是7我们故意输入8) ?...“身份证信息校验系统”获取全套的源码、素材、及数据源,一起上手体验一下这个项目。

2.7K50

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

18数字组合的方式是: 1 1 0 1 0 2 Y Y Y Y M M D D 8 8 8 X 区域码(6) 出生日期码(8) 顺序码(2) 性别码(1) 校验码(1) 区域码(6) 出生日期码...出生日期码 表示公民出生的公历年(4)、月(2)、日(2)。 ?顺序码 表示在同一区域码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号。 ?...校验码为一数,但如果最后采用校验码系统计算的校验码是“10”,碍于身份证号码为18的规定,则以“X”代替校验码“10”。 校验码计算方法 ?1....4. a_1=(12-( S bmod 11)) bmod 11 使用Python获取身份证校验码: def get_check_digit(id_number): """通过身份证获取校验码"...][0]) # 限定出生日期范围(8数) start, end = "1960-01-01", "2000-12-30" days = (datetime.datetime.strptime

4.8K31

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

0x01 身份证号码结构 公民身份号码是特征组合码,由十七位数字本体码和一校验码组成。排列顺序从左至右依次为:六数字地址码,八数字出生日期码,三数字顺序码和一数字校验码。...其分别对应的最后一身份证的号码为1 0 X 9 8 7 6 5 4 3 2; 5、通过上面得知如果余数是2,就会在身份证的第18数字上出现罗马数字的X。...fr=aladdin 0x03 思路 一个完整的身份证号码包括地址码,出生日期码,顺序码,校验码。...那么我们可以通过社工的手段获取到对方的地址和出生日期(相信这对各位黑阔大佬,社工大佬不是什么问题),这样我们就得到了地址码加出生日期码。...这样列出来的男性身份证号的字典有500种可能,女性身份证号码的字典则有499种可能。 0x04 代码分析 import os #根据地址码,出生日期码,性别生成身份证号码字典函数。

9.6K30

身份证校验工具类IdcardUtils

true : false;     }       /**      * 验证中国香港身份证号码(存在Bug,部份特殊身份证无法检查)      *       * 身份证前2为英文字符,如果只出现一个英文字符则表示第一是空格...,对应数字58 前2英文字符A-Z分别对应数字10-35      * 最后一校验码为0-9的数字加上字符"A","A"代表10      *       *       * 将身份证号码全部转换为数字...        iAge = iCurrYear - Integer.valueOf(year);         return iAge;     }       /**      * 根据身份编号获取生日...idCard);         }         return Short.valueOf(idCard.substring(6, 10));     }       /**      * 根据身份编号获取生日月...idCard);         }         return Short.valueOf(idCard.substring(10, 12));     }       /**      * 根据身份编号获取生日

2.4K30

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

#大陆18身份证 validator.is_valid(‘610104620927690’)  #大陆15身份证 validator.is_valid(‘810000199408230021...’) #港澳18身份证 validator.is_valid(‘830000199201300022’) #台湾18身份证 ?...(4)、接着,通过这个库底下的某个方法可以获取身份证相关的信息,输入命令:print(validator.get_info(‘330221199306084914’)) ?...') # 港澳居民居住证 18 validator.is_valid('830000199201300022') # 台湾居民居住证 18 获取身份证号信息(解析身份证号) 当身份证号合法时,返回分析信息...(地区、出生日期、星座、生肖、性别、校验),不合法返回 False: from id_validator import validator validator.get_info('440308199901101512

1.4K21
领券