身份证算法-生成合格的身份证号码

  根据《中华人民共和国国家标准GB 11643-1999》中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。

   841AE4D906940F38E8DA7F157DB640CF.jpg

  最终生成的号码就是当前这个县,当日所有的合格身份证号码。

   C0A90AA44EA6A2BD37C86BE3BA5368A0.jpg 通过上面的算法,可以判断一个用户输入的身份证号码是否合格。 合格的身份证号码不一定合法,需要公安局的录入了才能代表个人。 位数是X的占比大约是百分之一的比例。 不带X的身份证号码,每个县稳定输出1000个(男女各500)。 输入固定的 省市县 + 出生年月日 得到的列表里一定有你的身份证号码。

  题外话:

  ??假设某个县当天出生的小孩超过1100个,会怎么样。

  ??谁能告诉我 公式那里怎么弄??,图片?