猫宁!!!

​​

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

    使用animation和调整页面角度做出来 <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  2. Eclipse指定jdk启动

    在eclipse.ini文件中加入这一句话: -vm D:/Java/jdk/jdk1.8/jre/bin/server/jvm.dll

  3. 激活函数matlab代码

    [转自:http://blog.csdn.net/fendoubasaonian/article/details/52974608] %JOINT Summary of this function g ...

  4. 几台WEB经常宕机,求分析原因

    几台WEB服务器经常宕机,平时运行得好好的,负载也都在2以下,偶尔会突然负高上去就宕机,init 6也无法重启成功 只能echo 'b'>/proc/sysrq-trigger 硬重启才行,dm ...

  5. django 模型层(orm)05

    目录 配置测试脚本 django ORM基本操作 增删改查 Django 终端打印SQL语句 13条基本查询操作 双下滑线查询 表查询 建表 一对多字段数据的增删改查 多对多字段数据的增删改查 基于对 ...

  6. HDU 6040 - Hints of sd0061 | 2017 Multi-University Training Contest 1

    /* HDU 6040 - Hints of sd0061 [ 第k小数查询,剪枝 ] 题意: 给出随机数列 a[N] (N < 1e7) 询问 b[M] (M < 100) ,对于每个询 ...

  7. excel 数据读写 Aspose.Cells.dll

    private void Form1_Load(object sender, EventArgs e) { writeExcel(); Workbook workbook = new Workbook ...

  8. 关于博主&&联系博主

    关于我自己 天朝一名普通理科男高中生,现正读高二. 一位正在求学之路上奋斗的蒟蒻.很爱听歌,欧美为主,霉霉死粉.交际方面比较弱. 常用编辑器为DEV-C++,编译器为gcc,常用OJ是洛谷 基本熟练使 ...

  9. ftp协议在linux上的配置

    第一步:安装 yum install -y vsftpd 第二步:启动ftp服务:vsftpd [root@localhost ~]# systemctl start vsftpd 第三步:查看启动状 ...

  10. JVM 监控工具——jps

    [参考文章]:[Linux运维入门]Jstatd方式远程监控Linux下 JVM运行情况 1. jps简介 显示系统内所有的HotSpot虚拟机进程. 且只能查看当前用户下的Java进程信息: 2. ...