当前位置: 首页 > news >正文

如何辨别护照的种类

如何鉴别中国护照

1、护照号以G、P、S、D开头的为中国护照 ,G开头的为因私普通护照,P开头的为因公普通护照,S开头的为公务护照, D开头的为外交护照;
2、护照号码没有意义,随机产生的编号,是和钱币一样按好排下来的,从公安部发到各个出入境管理局的是成箱的护照,依据受理的顺序,一本一本随机的。
3、打开护照可以发现正面的下方有两列长长的数字和字符,每一列包含44个字符,这两行字符几乎包含了该张护照所有的信息,下面具体分析这两行数字和字符的含义: 例如一本护照下方的两行字符为:
POCHNHUANG<<CHAO<<<<<<<<<<<<<<<<<<<<<<<<<<<<
G222222224CHN8510105M180101952525252<<<<<<85
(这两列为本人虚构的,仅作讲解使用)
第一行
1)P:代表Passport,即护照,共1位
2)O:被护照颁发国用于区别不同种类的护照,如果未使用则为<,共1位
3)CHN:代表中国,共3位
4)HUANG<<CHAO<<<<<<<<<<<<<<<<<<<<<<<<<<<<:
代表护照持有人的姓名,中文则为拼音,姓后面加<<,然后为“名”的拼音,空下来的用<填充,直至填充满44个字符
第二行:
5)G22222222:表示护照号,即右上角的那个护照号,共9位
6)4:校验码C,具体算法见文末,共1位
7)CHN:中国代码,共3位
8)851010:出生年月日,格式为YYMMDD,共6位
9)5:校验码C,具体算法见文末,共1位
10)M:表示男性,F表示女性,共1位
11)180101:护照的过期日期,格式为YYMMDD,共6位 12)9:检验码C,具体算法见文末,共1位
13)52525252<<<<<<:共14位,个人号码,由护照颁发国各自决定其作用,不足位用<替代
14)8:校验码C,具体算法见文末,共1位
15)5:校验码X,具体算法见文末,共1位
校验码C的计算方法:
< A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
以6)处的校验码为例:
G22222222
G 2 2 2 2 2 2 2 2
7 3 1 7 3 1 7 3 1
112 6 2 14 6 2 14 6 2
其中第一行为位于校验码前面的一串字符,这里为
G22222222,即护照号
第二行为731731731.....依次排列的数列
第三行为每列的第一行乘以第二行所得到的数值,如果第一行中有字母则按照上面的表格转换为数字然后相乘
第四步将第三行每个数字相加,此处得到的值为:164
第五步:用所得到的值除以10,得到的余数即为校验码C
9)处的校验码计算方法同上,只不过这里用于计算的数列为14~19位的数值,即出生日期
8 5 1 0 1 0
7 3 1 7 3 1
56 15 1 0 3 0 第三行得到的值之和为75,除以10后余数为5,所以此处的校验码为5
12)和14)处的校验码计算方法同上,所用于计算校验码的数列分别为护照过期日期和个人号码
校验码X的计算方法为:
第一行数字为依次为1~10、14~20、22~43三处的数列组成 第二行数字依然为731731731.....有序排列的数列 第三行依然为每一列第一行乘以第二行所得到的乘积
然后将三次计算所得到的结果相加,再除以10,得到的余数即为X
这里计算得到的余数为5。。
到这里就全部分析完了,各位有护照的可以拿出来算算,我的算过了就是这样的。。
4、有的护照封面是中华人民共和国,但是护照内所盖印章是外国驻中国大使馆,这也属于是中国护照,一般为中国人的护照过期了,在国外当地的中国大使馆换了新护照.我的也是盖的马来西亚的中国大使馆的章。

相关文章:

  • 如何一步一步提高图像分类准确率?
  • 这样做,导出Xmanager会话文件不是难事!
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • BZOJ-3732: Network (kruskal+LCA)
  • 网络基础(持续更新)
  • Linux运维之道之admin1.1(命令行基础,目录和文件管理)
  • 《团队-科学计算器-模块开发过程》
  • 数据结构之栈
  • 课后作业:字串加密
  • 还没升级 iOS11?这个高危漏洞威胁近9成 iPhone 用户!
  • e租宝雇佣黑客攻击网贷之家 帮凶被判二年六个月
  • java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
  • 云计算大数据(Hadoop)开发工程师项目实战视频教程(九部分)
  • MySQL设置UTF8字符
  • Web大前端环境搭建
  • 「译」Node.js Streams 基础
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • avalon2.2的VM生成过程
  • CODING 缺陷管理功能正式开始公测
  • ES学习笔记(12)--Symbol
  • HTTP 简介
  • input的行数自动增减
  • js操作时间(持续更新)
  • leetcode386. Lexicographical Numbers
  • Linux快速复制或删除大量小文件
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • PermissionScope Swift4 兼容问题
  • React-Native - 收藏集 - 掘金
  • Sass Day-01
  • Spring Cloud中负载均衡器概览
  • swift基础之_对象 实例方法 对象方法。
  • 从零搭建Koa2 Server
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 两列自适应布局方案整理
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信小程序实战练习(仿五洲到家微信版)
  • 在weex里面使用chart图表
  • 进程与线程(三)——进程/线程间通信
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #13 yum、编译安装与sed命令的使用
  • #微信小程序:微信小程序常见的配置传旨
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)ssm码农论坛 毕业设计 231126
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core 2.1路线图
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Framework杂记
  • .NET Micro Framework初体验(二)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET/C# 项目如何优雅地设置条件编译符号?