猫宁!!!

 
之前思考过常见证件的编码规则,抽空查了一下,发现挺有意思。
 
一般查询证件或者手机号归属地都是直接百度小工具,但是背后的查询机制如何,可能大多人不甚了解。
 
介绍几种生活中最常见的几串数字。
 
手机号:188 6450 0763(某诈骗电话)
 
中国大陆的国际电话区号是+86(国家码),上面号码开头的188(移动接入码)隶属于中国移动的号段,目前中国移动的号段最多,联通次之,电信最少。卫星通信的开头号段是1349,虚拟运行商的开头字段绝大多数是17开头的4位数(同样隶属于三大运营商)。
 
中间的4位6450属于地区码,这个由运营商进行分配,是你的HLR(Home Location Register)信息,感兴趣也可以查一下VLR,会对手机的通话机制有更多认识。
 
最后的0763是移动用户号,是在HLR之下进行分配的。
 
身份证号:36 07 24 19981016 601 3(某诈骗身份证)
 
在中国大陆地区,36表示你所在的省(或同级地区),07表示所在的地级市(或同级地区),24表示所在的县(或同级地区)。
 
中间的8位19981016就是熟悉的出生年月日,此后的3位601是所在地同年同月同日生人的顺序号,其中这里的1,也就是第17位,男性为奇数,女性为偶数。
 
最后一位3是校验码是通过一个特定的公式计算出来,如果校验码为10,那么用x代替,身份系统无法录入19位。详情可查看“居民身份证号码”百度百科,很清晰,这个数字可以判断出一个身份证号的真伪。
 
银行卡号:
622536 527156282 2(16位)
622848 242107389921 9(19位)
 
并非没有其他长度的卡号,在中国大陆这两种最多,仅说这两种。
 
前6位是发行者标识码(Issuer Indentification Number),这是国际标准化组织分配给各银行组织的,一般包括发卡行、卡的种类、卡的名称,支付宝、微信在你绑定银行卡的时候即可识别。中国银联卡的开头一般都是62。
 
中间的9位或者12位表示个人账号标识,内容一般包含支行网点所在地信息,部分可能不是。
 
最后一位是银行卡校验码,采用Luhn算法,根据卡号的前15位或者18位计算出来,所以银行卡号不是信口就可以编造出来的,详情可查看“Luhn算法”百度百科,很明了。
 
统一社会信用代码:9 1 110302 053604529 E
 
这一串数字同样是18位,和身份证相同,没错,它就是企业法人及其他组织的身份证号。
 
第一个数字表示所登记的管理部门,分为机构编制(1)、民政(5)、工商(9)、其他(Y)。
 
第二个数字表示上述登记管理部门下的细分机构类别,例如工商分为企业(1)、个体工商户(2)、农民专业合作社(3)。
 
3-8位表示登记管理机关的行政区划码,也就是工商注册号开头的6位数。
 
9-17位表示组织机构代码
 
最后一位是校验码,算法有点复杂,但是花点时间就能看懂。
 
详情链接如下:
http://qyj.saic.gov.cn/zyfb/gszjfb/201612/t20161208_232473.html
 

PJzhang:今天才搞清身份证、银行卡……的编码规则的更多相关文章

  1. atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结

    atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结 1. nfc(近距离无线通讯技术)  1 2. 工作模式 1 3. NFC 蓝牙 红外具体对比如下表: 2 4. TypeA ...

  2. UTF-8编码规则(转)

    from:http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html UTF-8是Unicode的一种实现方式,也就是它的字节 ...

  3. 通用的业务编码规则设计实现[转:http://www.cnblogs.com/xqin/p/3708367.html]

    一.背景 每一个企业应用中不可避免的都会涉及到业务编码规则的问题,比如订单管理系统中的订单编号,比如商品管理系统中的商品编码,比如项目管理系统中的项目编码等等,这一系列的编码都需要管理起来,那么它们的 ...

  4. UTF-8编码规则

    UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所 ...

  5. UTF-8编码规则【转】

    hz_chenwenbiao UTF-8编码规则(转) UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode ...

  6. WEB前端 [编码] 规则浅析

    前言 说到前端安全问题,首先想到的无疑是XSS(Cross Site Scripting,即跨站脚本),其主要发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被 ...

  7. 04Redis入门指南笔记(内部编码规则简介)

    Redis是一个基于内存的数据库,所有的数据都存储在内存中.所以如何优化存储,减少内存空间占用是一个非常重要的话题.精简键名和键值是最直观的减少内存占用的方式,如将键名very.important.p ...

  8. Kconfig 配置文件编码规则

    最早接触到Kconfig是在u-boot的移植过程中.所今天来好好学习一下如何编写一个符合Kconffigde 配置文件.Kbuild或者是Kconfig的中文翻译意思是内核配置/构建系统.他最早出自 ...

  9. 转:从开源项目学习 C 语言基本的编码规则

    从开源项目学习 C 语言基本的编码规则 每个项目都有自己的风格指南:一组有关怎样为那个项目编码约定.一些经理选择基本的编码规则,另一些经理则更偏好非常高级的规则,对许多项目而言则没有特定的编码规则,项 ...

随机推荐

  1. hdu1529 Cashier Employment[差分约束+二分答案]

    这题是一个类似于区间选点,但是有一些不等式有三个未知量参与的情况. 依题意,套路性的,将小时数向右平移1个单位后,设$f_i$为前$i$小时工作的人数最少是多少,$f_{24}$即为所求.设$c_i$ ...

  2. poj3691 DNA repair[DP+AC自动机]

    $给定 n 个模式串,和一个长度为 m 的原串 s,求至少修改原串中的几个字符可以使得原串中不包含任一个模式串.模式串总长度 ≤ 1000,m ≤ 1000.$ 先建出模式串的AC自动机,然后考虑怎么 ...

  3. vue2.0 + element-ui2实现分页

    当我们向服务端请求大量数据的时候,并要在页面展示出来,怎么办?这个时候一定会用到分页. 本次所使用的是vue2.0+element-ui2.12实现一个分页功能,element-ui这个组件特别丰富, ...

  4. vs2017 gitee项目无法提交同步的解决办法

    下载扩展跟更新:  gitee插件 然后命令行输入: git push --set-upstream origin master 参考 https://www.cnblogs.com/slwangzi ...

  5. 灰度图像--图像分割 Scharr算子

    学习DIP第46天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发: https://g ...

  6. Fire Game (FZU 2150)(BFS)

    题解:一开始想错了,以为只要烧完就是那个答案,但是这不是最优的结果,需要每两个点都bfs一遍,找到如果能够全部烧完,找到花费时间最小的,如果不能return -1.在bfs的时候,记录答案的方法参考了 ...

  7. AcWing:172. 立体推箱子(bfs)

    立体推箱子是一个风靡世界的小游戏. 游戏地图是一个N行M列的矩阵,每个位置可能是硬地(用”.”表示).易碎地面(用”E”表示).禁地(用”#”表示).起点(用”X”表示)或终点(用”O”表示). 你的 ...

  8. B. Interesting Array(线段树)

    B. Interesting Array time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. Latex的beamer幻灯片图形不编号的问题

    在beamer幻灯片中如果插入图形,一般不会显示图形编号,这是其默认模式,但我们可以通过设置给图形编号.解决办法是: 在导言区加上命令: \setbeamertemplate{caption}[num ...

  10. 异常处理(Exception Handling)

    java里的异常处理(Exception)Exception 是在程序执行过程中发生的一些不希望发生的事情,这些事情如果不被好好处理,就会导致奇怪的结果或者是程序终结.Exception Handle ...