久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    二維碼知識介紹

     昵稱7Bw0IOvb 2018-02-07

    一、二維碼的分類

    二維碼,從字面上看就是用兩個維度(水平方向和垂直方向)來進行數(shù)據(jù)的編碼,條形碼只利用了一個維度(水平方向)表示信息,在另一個維度(垂直方向)沒有意義,所以二維碼比條形碼有著更高的數(shù)據(jù)存儲容量。

    從形成方式上,二維碼可以分為兩類,

    1、堆疊式二維碼:在一維條形碼的基礎(chǔ)上,將多個條形碼堆積在一起進行編碼,常見的編碼標(biāo)準(zhǔn)有PDF417等

    image

                              圖1 PDF417碼示例

    2、矩陣式二維碼:在一個矩陣空間中通過黑色和白色的方塊進行信息的表示,黑色的方塊表示1,白色的方塊表示0,相應(yīng)的組合表示了一系列的信息,常見的編碼標(biāo)準(zhǔn)有QR 碼,漢信碼等

                        image

           圖2 QR碼示例                                  圖3 漢信碼示例

    PDF417由美國研發(fā),在美國地區(qū)使用廣泛

    漢信碼由中國自主研發(fā),目前已在政府相關(guān)領(lǐng)域得到初步的使用。

    QR碼由日本研發(fā),目前很多的應(yīng)用都是用QR碼進行編碼,譯碼

    目前使用最廣的是QR碼,所以接下來的內(nèi)容會對QR碼進行講解,下文中提到的二維碼,指的就是QR碼

    QR碼分為40個版本,版本1由21x21個方塊組成,每個版本增加4個方塊,版本40由177x177個方塊組成。每增加一個版本,QR碼可儲存的信息數(shù)量也隨之增多。

    版本1的二維碼最多可以儲存25個字符或41個數(shù)字,而版本40的二維碼最多可以儲存4296個字符或7089個數(shù)字

    二、二維碼的結(jié)構(gòu)

    一個二維碼可以分為兩個部分,功能圖形和編碼區(qū)域

    image

                                             圖4

    功能圖形起到定位的作用

    位置探測圖形:由三個黑白相間的大正方形嵌套組成,分別位于二維碼左上角、右上角、左下角,目的是為了確定二維碼的大小和位置。

    定位圖形       :由兩條黑白相間的直線組成,便于確定二維碼的角度,糾正扭曲。

    校正圖形       :僅在版本2以上存在,由三個黑白相間的小正方形嵌套組成,便于確定中心,糾正扭曲。

    數(shù)據(jù)區(qū)記錄了具體的數(shù)據(jù)信息,糾錯信息與版本信息。

    數(shù)據(jù)和糾錯碼:記錄了數(shù)據(jù)信息和相應(yīng)的糾錯碼,糾錯碼的存在使得當(dāng)二維碼的數(shù)據(jù)出現(xiàn)允許范圍內(nèi)的錯誤時,也可以正確解碼。

    版本信息       :僅在版本7以上存在,記錄具體的版本信息。

    格式信息       :記錄使用的掩碼和糾錯等級。

    此外二維碼的外圍還留有一圈空白區(qū),主要是為了便于識別而存在。

    三、數(shù)據(jù)編碼與實例

    針對不同的數(shù)據(jù),QR碼設(shè)計了不同的數(shù)據(jù)編碼編碼方式,我們可以根據(jù)數(shù)據(jù)的種類選擇合適的編碼方式進行編碼。

    數(shù)字編碼(Numeric)        :可編碼0-9,10個數(shù)字,如果需要編碼的數(shù)字的個數(shù)不是3的倍數(shù),最后剩下的1或2位數(shù)會被轉(zhuǎn)成4或7bits,其它的每3位數(shù)字會根據(jù)不同版本被編成 10,12,14bits

    字符編碼(Alphanumeric) :可編碼0-9,大寫的A-Z,以及9個其他的字符(space $ % * + – . / :);

    8位字節(jié)模式(8-bit Byte)     :可編碼JIS X 0201的8位Latin/Kana字符集

    除此之外,QR還提供了其他的編碼方式,每一個編碼方式都有其獨有的id進行標(biāo)識,這些標(biāo)識會記錄在數(shù)據(jù)區(qū)的前端,使得解碼器可以根據(jù)二維碼使用的編碼方式對數(shù)據(jù)進行解碼

          image

                                      圖5   一些編碼方式及其標(biāo)識

    糾錯碼

    二維碼存在4個級別的糾錯等級,每個糾錯級別可修正的錯誤與標(biāo)識見圖6,糾錯級別越高,可以修正的錯誤就越多,需要的糾錯碼的數(shù)量也變多,相應(yīng)的可儲存的數(shù)據(jù)就會減少,版本1的二維碼在L級別下可儲存25個字符,在H級別下只能儲存10個字符。

              image

                                 圖6

    下面給一個01234567在版本1下用數(shù)字編碼(Numeric),選擇的糾錯級別是M的示例

    第一步,將定位圖案放到二維碼中

          image

                             圖7

    第二步:進行數(shù)據(jù)編碼

    根據(jù)圖8,版本1下,采用Numeric Mode編碼時,每三個數(shù)字需要10個bits進行標(biāo)示

    image

                                                圖8

    012 ->0000001100

    345 ->0101011001

    67 ->1000011

    組合起來為

    0000001100 0101011001 1000011

     

    在數(shù)據(jù)的頭尾加上一些標(biāo)準(zhǔn)要求的信息

    數(shù)字個數(shù) (8) = 0000001000

    編碼格式      =0001

    終止符         =0000

    組合起來為

    0000001100 0101011001 1000011->

    0001 0000001000 0000001100 0101011001 1000011 0000

     

    按8bit一組重新排列,末尾不足的補零

    0001 0000001000 0000001100 0101011001 1000011 0000->

    00010000 00100000 00001100 01010110 01100001 10000000

     

    不足最大bit的添加補齊碼(11101100 00010001),版本1 M下需要128bits

    00010000 00100000 00001100 01010110 01100001

    10000000->

    00010000 00100000 00001100 01010110 01100001

    10000000 11101100 00010001 11101100 00010001

    11101100 00010001 11101100 00010001 11101100

    00010001

    第三步:添加糾錯碼

    糾錯碼根據(jù)數(shù)據(jù)利用RS算法來進行計算,篇幅所限,這里就不具體講解了,最終的結(jié)果如下:

    00010000 00100000 00001100 01010110 01100001

    10000000 11101100 00010001 11101100 00010001

    11101100 00010001 11101100 00010001 11101100

    00010001->

    00010000 00100000 00001100 01010110 01100001

    10000000 11101100 00010001 11101100 00010001

    11101100 00010001 11101100 00010001 11101100

    00010001 10100101 00100100 11010100 11000001

    11101101 00110110 11000111 10000111 00101100

    01010101

    第四步:將最終的數(shù)據(jù)編碼按順序放入二維碼中

     image                                image

                          圖9                                                                       圖10

    從左下角開始,1為黑色,0為白色,按順序依次填入二維碼中

    第五步:添加格式信息和進行掩碼運算

    得到的圖像還需要對數(shù)據(jù)區(qū)進行掩碼運算,掩碼運算的目的是讓圖像中黑色和白色方塊分布的更加均勻一些,便于解碼

    有以下幾種掩碼運算,相應(yīng)的標(biāo)識和變換方式見圖11,二維碼的左上角的坐標(biāo)為(0,0)

             image

                                                   圖11

     

        image

                                  圖12  坐標(biāo)系和掩碼運算的圖案

    這里我們選擇標(biāo)識為011的掩碼

    格式信息的組成為                       :糾錯標(biāo)識+掩碼標(biāo)識+BCH糾錯碼

    所以前面的糾錯標(biāo)識+掩碼標(biāo)識為:00011

    BCH糾錯碼計算為:

    image

    得到糾錯碼為                             :011 0101 1001

    格式信息為                                :00011 1101011001

    為了避免選擇標(biāo)識00的糾錯類別和標(biāo)識000的掩碼運算,照成格式信息為全0的數(shù)字,所得的格式信息還要與101010000010010做異或運算

    000111101011001

    101010000010010   XOR

    101101101001011

    最終的格式信息為                      :101101101001011

    將格式信息放入二維碼中       

            image

                              圖13

    對加格式信息后的二維碼 進行掩碼運算

    得到的最終二維碼,儲存的數(shù)據(jù)信息是01234567

           image

                          圖14

    整個流程見圖15

       
                                          圖15


    四、二維碼的安全知識

    雖然二維碼本身承擔(dān)的只是一些文本數(shù)據(jù),但仍會導(dǎo)致一些安全問題

    1、攻擊者將一些惡意網(wǎng)站或者一些惡意代碼制作成二維碼,用戶掃描后,會自動下載一些惡意軟件,或跳轉(zhuǎn)到一些虛假網(wǎng)站給使用者造成危害,

    2、二維碼內(nèi)如果包含一些可執(zhí)行的腳本,便可能導(dǎo)致xss攻擊     如 http://www./bugs/wooyun-2012-09145

    3、如果將一些敏感信息不加密而直接儲存在二維碼中,便會存在信息泄露的可能,比如11年火車票上的二維碼就存在泄露使用者的身份證號碼的問題。

    五、總結(jié)

    雖然我們在使用二維碼的時候只需要用手機一掃即可,但二維碼的編碼和解碼卻包含了很多的步驟和很多的知識,此外二維碼本身僅僅是數(shù)據(jù)的承載體,我們在使用時要針對一些敏感信息進行加密處理,防范潛在的攻擊方式

     

    參考文獻(xiàn)

    二維碼的生成細(xì)節(jié)和原理  http:///articles/10590.html#jtss-tsina

    QR二維碼的攻擊與防御   http://drops./tips/160

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产色秀视频在线播放| 国产99视频精品免费视频36 | 成人无码潮喷在线观看| 日韩在线看片免费观看软件| 日本不卡一区二区三区| 40岁大乳的熟妇在线观看| 亚洲色精品VR一区二区三区| 少妇人妻无码专区视频| 色欲国产精品一区成人精品| 国产无套粉嫩白浆在线观看| 国产精品亚洲二区亚瑟| 亚洲人成网站免费播放| 亚洲国产超清无码专区| 97成人碰碰久久人人超级碰oo| 国产中文成人精品久久久| 亚洲AV伊人久久综合密臀性色| 玩弄漂亮少妇高潮白浆| 色综合久久久久综合体桃花网 | 国产在线中文字幕精品| 亚洲AV无码专区亚洲AV桃| 公喝错春药让我高潮| 欧美亚洲人成网站在线观看| 午夜福利看片在线观看| 国产成人欧美日韩在线电影| 国产精品成人午夜福利| 久久精品亚洲乱码伦伦中文| 玩弄漂亮少妇高潮白浆| 各种少妇wbb撒尿| 欧美成人看片黄A免费看| 欧洲免费一区二区三区视频| 最新中文字幕AV无码专区不| 久久天天躁狠狠躁夜夜躁2020| 丰满爆乳一区二区三区| 精品国偷自产在线视频| 久久综合亚洲鲁鲁九月天| 国产精品中文字幕免费| 午夜无码片在线观看影院A| 亚洲最大成人网色| 亚洲色大成网站WWW永久麻豆 | 小12萝8禁用铅笔自慰喷水| 综合图区亚洲欧美另类图片|