火车票辨伪终极攻略,利用QR二维码判断火车票真假的方法

by shinichi_wtn 2011-01-25 14:56

引言

春运期间火车票一票难求,买票需要早早去火车站或者代售点排队(有些热门票排队都不一定买到),在火车站和代售点买的票一定是真的,没有必要担心真假问题,但也有部分人没有时间去火车站等正规卖票机构买票,而是在网上通过同城、赶集等网站买其他人转的票,甚至买黄牛票,这个时候辨别火车票的真假就很有必要了,毕竟现在骗子横行,骗术多变。

但是,一般的骗子不会使用高科技作假,因为成本高、实现难,所以真正敢卖假票的同志还是很少的,至少他要对造假的票充满信心才行,大多骗子都是通过银行转账这样的弱智方法来进行,如果遇到非当面交易的票贩子,请慎重,因为可能又是某种新的骗术。本文主要讨论当面交易如何验票的问题,并且给出了三个阶段的验票方法,第一个阶段是最简单的初级验证,第二个阶段是数字信息的中级验证,第三个阶段是利用QR码进行高级验证。

火车票初级验证技巧

同城网给出了详细的几个简单的验证方法,这里摘录如下

假票的种类:“回头票”、“挖补、涂改票”、“整版假票”。

回头票:不法分子将已到站还未过期的中转签字票低价回收,盖上私刻的车站中转签字章后,重新卖给旅客,此类假票一般票面较旧,且已被剪口。
挖补、涂改票:不法分子将废票、短途票的日期、票价、到站、座别用涂改液改掉,重新填写。此类假票通常挖补过的地方颜色会有些发白,而且票面颜色不统一,用手摸感觉凹凸不平。
整版假票:和真票对比,这种假票纸质厚薄不一,手感粗糙,票面“中国铁路”标志以及背面的水印较为模糊,用手轻揉票面文字及数字时,油墨会沾在手上。

真假票如何进行初级验证:一看二摸三对照
一是看:看票面字迹是否清楚,通过仔细辨别或转换角度是否可以清晰看见“中国铁路”和“CR”字样等防伪隐形文字及字符。
二是摸:真票手感平顺、光滑,纸张质地相对薄、软,而假票手感粗糙有凹凸感;尤其是“整版假票”,是用高清晰度的彩色打印机制成,票面油墨较多且容易掉墨。
三是对照:用阳光或较强的灯光对照。通过逆光照看,车票上有无铁路的路徽水印,这主要是针对“整版假票”的;再对照车票的始发站和终点站、开车时间和票价这几个重点处是否有空隙或裂痕,这主要是针对通过“挖扑”制作的假票。

火车票中级验证技巧

火车票上除了各种防伪记号和标志外,还有许多数字可以用来验证,当然我们首先需要了解火车票上各种数字的含义。

车票左下的一组21位字符串:前1-5位是发售车站代码;6-7位为售票方式码;8 – 10位为售票窗编码(不是窗口号);11 – 14位购票时间;15~21 位是车票号码

具体来说有如下规则:

● 前5位为车站码。例如 北京站:10001;北京西站:21152;清华园:12710

● 接后2位为售票方法码,售票方法码编码范畴00 - 99(00 - 09 车站发售;10 - 19 预订;20 - 29 代售;30 - 39 主动售票;40 - 49 备用)。

● 8-10位为售票窗口码,3位数字,售票窗口码编码范畴001 - 255(1 - 200 售票、退票、预约预订窗口;201 - 255 治理窗口,对于售票方法码为 20 - 29 的,窗口号通常为代售处编号)

● 11-14位是售票记账日期(不完整是发售日期,可能比发售日要晚一天)。

● 15-21位是车票号码,应当和左上角的红色数码票号一样。

下图是一个例子,验票的时候一定保证这些信息准确无误,尤其是发售时间那4位,不可能晚于发车时间,否则可能是“旧票换新装”,同时票面ID(红色的7位数字)要和底部最后的7位ID一致,用蓝框表示。

QR码简介

‍ 从百度百科里得知,QR码是二维条码的一种,QR来自英文 “Quick Response” 的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。QR码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。由此可知,QR码仅仅是用图像来存储信息的,并不是一种加密技术。

火车票高级验证技巧

随着时代的进步,造假技术也越来越发达,对于整版假票,也越来越以假乱真,很难直接通过看、摸、对照等初级验证方法识别出真假,同时对于中级验证里的数字信息,认真作假的一般也不会犯错。因此需要使用更加先进的验证机制,即QR码识别技术。前段时间看了新闻,有专门卖假票给个人用户报销,这种票跟真票几乎没有差别,用初级验证和中级验证根本无法判断真假,最终通过识别二维码才知道这是假票。

火车票从最初的一维条形码变为二维条形码就是为了增加存储信息的空间,二维码中存放了一系列数字,这些数字的一部分是经过加密的,但是也有部分数字没有加密。我们普通用户只能通过未加密的部分来判断真假,而铁道部可以通过破译加密部分来最终确定真假,但加密方式是非公开的,在检票的时候用机器一扫,内置程序就会自动读取出信息,立即可以判读真假,当然目前真正用检票机器的火车站并不多,主要是人太多太挤了……一开始检票,就像大坝放水一样。

由于加密方法的不可知,完全造假是不可能的,所以一般用二维码来造假的人并不多,因为首先要骗过初级验证的制票成本会较高(纸张、墨水、水印、印刷等等一系列问题),并且他们不知道怎么生成二维码记录的那串数字。因此更多的骗子选择了社会工程学的方法,去研究其他的骗术了,呵呵。

下面,还是用上面那张票来展示怎么实现高级验证。在手机上或者电脑上安装二维码识别软件QuickMark,运行QuickMark后会自动弹出摄像头,对准二维码即可自动进行识别,无论是用电脑的摄像头,还是手机相机的微距模式,都很快就能识别。

识别后得到一串很长很长的数字信息

270414331369769984588773015074980463607536633354045441486507179
943200000000000000000000053897628805389762880538976288053897628805389762881519000

OK,我们对这条信息按位数进行拆分如下

1-2位:27
3-8位:041433
9-63位:1369769984588773015074980463607536633354045441486507179 (加密信息)
64-87位:9432000000000000000000000
88-137位:5389762880538976288053897628805389762880538976288
138-144位:1519000

除了9到63位之间是加密的信息外,其他都是可以读取的,其对应的含义如下,解读方法来自《火车票二维码解读》:

● 第1-2位(2位):对应车票左上方字母;(A=26,B=27,...)
● 第3-8位(6位):041433车票上的红字:B041433(票号)
● 第9-63位(55位,票号后到9432前这一段):加密后的数字,据说包含买票的时间,地点,窗口
● 第64-87位(24位,9432这段):预留位,将来存储身份证号。注:实名制地区已经开始使用了
● 第88-137位(50位): 0538976288重复 5次,0538976288(十进制) -> 0x20202020(十六进制),ASCII里面0x20 就是一个空格,所以这段包含20个空格,以后可存个姓名拼音,或是用Unicode存个名字。注:实名制地区已经开始��用了
● 第138-144位(7位):1519000,开车时间15:19分

从二维码可以得到两个关键的显式信息:即票号和发车时间,如果和票面上的一致,那么几乎一定可以肯定为真票。

这里推荐QuickMark是因为他支持几乎各类主流手机平台,并且识别率非常高,从我之前的截图可以看到,拍摄时并非要求非常精准,稍微倾斜也可以识别出来。我们出去买别人转的票或者黄牛票时,用这个软件一下子就可以进行高级验证,从而可以安心买票而不用担心受骗了。当然,Android(安卓)和IOS(iPhone)下也有个叫Quick拍的软件,有火车票和其他一些商品条形码或者二维码的识别功能,大家可以尝试一下。

总结

本文从初级到高级介绍了辨别火车票的几类方法,如果三种方法验证均通过,那么大可不必怀疑车票的真假。虽然理论上仍存在车票二维码复制和二维码欺骗等高级技术,但我们要相信,骗子一般不会弄得如此复杂(毕竟他们也要考虑投入产出啊),毕竟知道二维码原理的骗子是很少的,即使知道,骗子们也不知道加密方式,不会瞎折腾的。所以他们一般会琢磨着怎样通过语言艺术和电话等社会工程学的方法来欺骗,对于这些骗术,只要我们有个心眼就行。

最后,当面交易加上初、中、高级验证是最保险的,对于没有条件进行高级验证的人来说,可以只进行当面交易加上初、中级验证。

希望本文对不想排队买票而愿意买别人转的票、甚至加钱买黄牛票的人一个指导,不要得不偿失。

 

PS:写本文的背景:我的同学在同城上买了别人转的一张票,而担心受骗才让我帮其验证的,最后没有问题,是真票,顺利回家。所以只要对方愿意当面交易,加上一些验证技术,一般是没有问题的,祝福大家都能顺利买到心仪的火车票!

Comments (4) -

iccna People's Republic of China
1/25/2011 6:43:15 PM #

太牛了……膜拜

Reply

an_ling People's Republic of China
1/25/2011 8:10:47 PM #

顶顶,学习啦

Reply

nextl People's Republic of China
1/30/2011 2:01:21 PM #

感谢楼主介绍的这么详细,全面。谢谢

Reply

jiatingqiang People's Republic of China
7/26/2011 9:08:24 PM #

分析的太详细了,谢谢分享

Reply

(仅用于Gavatar)

  Country flag

biuquote
  • Comment
  • Preview
Loading

About

shinichi_wtnI'm Shinichi_wtn

Software Engineering Manager at Microsoft

[More...]


Month List