猫宁!!!

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

    配置文件路径: /data/mysql/mysql3306/my.cnf [client]port = 3306 [mysql]auto-rehashprompt="\\u@\\h:\\p ...

  2. Spark RDD初探(一)

    本文概要 本文主要从以下几点阐述RDD,了解RDD 什么是RDD? 两种RDD创建方式 向给spark传递函数Passing Functions to Spark 两种操作之转换Transformat ...

  3. python中的apply(),applymap(),map() 的用法和区别

    平时在处理df series格式的时候并没有注意 map和apply的差异 总感觉没啥却别.不过还是有区别的.下面总结一下: import pandas as pd df1= pd.DataFrame ...

  4. (转)rotatelogs - Piped logging program to rotate Apache logs

    原文:http://publib.boulder.ibm.com/httpserv/manual60/programs/rotatelogs.html rotatelogs is a simple p ...

  5. C# dll文件添加引用失败

    未能添加对“***/***.dll”的引用.请确保此文件可访问并且是一个有效的程序集或 COM 组件. 原因:dll文件使用其他语言生成,C#无法识别 解决方法: 添加using System.Run ...

  6. Jenkins-邮件模板

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Prism框架中View与Region关联的几种方式

    Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...

  8. ckeditor从word粘贴图片

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  9. Jmeter(十二)常用插件

    一.下载及安装 下载地址:https://jmeter-plugins.org/install/Install/ 下载后文件为一个jar包,将其放入jmeter安装目录下的lib/ext目录,然后重启 ...

  10. Java集合框架之LinkedHashSet

    简述 LinkedHashSet底层使用 LinkedHashMap 来保存所有元素,它继承自 HashSet,其所有的方法操作上又与 HashSet 相同,因此 LinkedHashSet 的实现上 ...