猫宁!!!

 
之前思考过常见证件的编码规则,抽空查了一下,发现挺有意思。
 
一般查询证件或者手机号归属地都是直接百度小工具,但是背后的查询机制如何,可能大多人不甚了解。
 
介绍几种生活中最常见的几串数字。
 
手机号: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. java 日期增加

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public cl ...

  2. 【Winfrom-禁止重复启动程序】 程序不能重复启动

    using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...

  3. kubernetes的搭建以及dashboard页面的启动

    ###查看kubernetes状态 ``` kubectl get pods -A #查看相关状态 kubectl get cs #查看k8s的ready状态 kubectl get node #查看 ...

  4. Redis实战(18)Redis位图巧用,节约内存

    序言 资料 https://www.cnblogs.com/luke44/p/12031078.html

  5. python 中type和object的关系

    转自:https://segmentfault.com/a/1190000008938763 学习python的同学都知道这么几句话 object类是所有新式类的父类. type是所有类的类. 那么t ...

  6. epplus动态合并列数据

    private static void SetColMerge(DataTable tb, ExcelWorksheet worksheet, string dtColumnName) { KeyVa ...

  7. $\LaTeX$数学公式大全10

    $10\ Array\ environment,examples$ $\left( \begin{array}{cc} 2\tau & 7\phi-frac5{12} \\ 3\psi &am ...

  8. sql把一段时间分割成周,月,季度,年的时间段

    --本周 select TO_CHAR(CREATE_DATE ,'yyyy-MM-dd')as NEW_DATE , TO_CHAR(trunc(CREATE_DATE, ,'yyyy-MM-dd' ...

  9. Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/Cppcc] due to a StackOverflowError. Possible root causes include a too low setting for -Xs

    解决办法:(1)修改D:\Java\apache-tomcat-7.0.88\conf\catalina.properties (122line) (2)如org.apache.catalina.st ...

  10. C++入门经典-例9.5-为具体类型的参数提供默认值

    1:默认模板参数是指类模板中由默认的数据类型作为参数的参数,在模板定义时,还可以为默认的数据类型声明,变量,并为变量赋值.代码如下: // 9.5.cpp : 定义控制台应用程序的入口点. #incl ...