本發(fā)明涉及數(shù)據(jù)加密技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)頁數(shù)據(jù)的加密方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,網(wǎng)頁信息的數(shù)量呈現(xiàn)出爆發(fā)式增長。在數(shù)以億計(jì)的網(wǎng)頁中,沉淀出許多有價(jià)值的信息數(shù)據(jù)。
在互聯(lián)網(wǎng)這個(gè)開放的平臺(tái)中,有價(jià)值的數(shù)據(jù)可以通過搜索引擎和網(wǎng)絡(luò)爬蟲等技術(shù)而被有效提取,但同時(shí)也面臨著被采集的風(fēng)險(xiǎn)。對(duì)于一些具有版權(quán)或具隱私性的數(shù)據(jù)來說,未經(jīng)允許的采集屬非法行為,或涉及不正當(dāng)?shù)纳虡I(yè)競爭。
基于這種對(duì)自有信息的防采集訴求,很多網(wǎng)站加強(qiáng)了網(wǎng)頁構(gòu)造的復(fù)雜化和對(duì)數(shù)據(jù)的加密程度,比如增加驗(yàn)證碼,屏蔽和限制ip訪問等。但是這些較為普通的防采集機(jī)制很快就可能會(huì)被破解,所以網(wǎng)頁數(shù)據(jù)的防采集不得不整合出更加有效的應(yīng)對(duì)方法。
在眾多方法中,將字符信息轉(zhuǎn)化為圖片形式展示的方法能夠應(yīng)對(duì)一些網(wǎng)絡(luò)爬蟲的解析,但是卻無法避免利用識(shí)別工具對(duì)圖片進(jìn)行識(shí)別從而轉(zhuǎn)化為文字或字符的高級(jí)破解情況。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)頁數(shù)據(jù)的加密方法,能夠防止識(shí)別工具對(duì)圖片形式的數(shù)據(jù)的破解。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種網(wǎng)頁數(shù)據(jù)的加密方法,包括:
將待處理的字符數(shù)據(jù)分割為字符塊,為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,生成由字典數(shù)據(jù)庫中字典字符塊隨機(jī)分布的二維矩陣圖片,并記錄字符塊在二維矩陣圖片中的坐標(biāo)位置;
根據(jù)二維矩陣圖片和坐標(biāo)位置,在網(wǎng)頁中顯示字符塊組成的圖片。
優(yōu)選的,還包括:
設(shè)置包括不同類型的字典字符塊的字典數(shù)據(jù)庫;
為字符塊匹配包括字符塊的字典數(shù)據(jù)庫包括:判斷字符塊類型,根據(jù)字符塊類型為字符塊匹配包括字符塊的字典數(shù)據(jù)庫。
優(yōu)選的,還包括:
生成二維矩陣圖片的調(diào)用地址,對(duì)調(diào)用地址進(jìn)行加密設(shè)置,對(duì)二維矩陣圖片和調(diào)用地址進(jìn)行過期失效設(shè)置。
優(yōu)選的,還包括:
設(shè)置字典白名單;
字符塊存在于字典白名單時(shí),生成基于二維矩陣圖片的cssclass文件(cascadingstylesheetsclass,層疊樣式表類文件),并生成cssclass文件的調(diào)用地址。
優(yōu)選的,根據(jù)二維矩陣圖片的調(diào)用地址獲取二維矩陣圖片,根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字符塊組成的圖片。
優(yōu)選的,在將待處理的字符數(shù)據(jù)分割為字符塊之后,還包括:
根據(jù)網(wǎng)頁的顯示需要,為字符塊匹配適應(yīng)的格式。
本發(fā)明提出的網(wǎng)頁數(shù)據(jù)的加密方法,通過將待處理的字符數(shù)據(jù)分割成字符塊,并為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,將字典數(shù)據(jù)庫中字典字符塊隨機(jī)生成圖片,從而生成的圖片為字典字符塊無序組成,解析的規(guī)律性很低,從而識(shí)別工具無法破解圖片形式的數(shù)據(jù)。
附圖說明
圖1為本發(fā)明實(shí)施例提出的網(wǎng)頁數(shù)據(jù)的加密方法的流程圖;
圖2為本發(fā)明另一個(gè)實(shí)施例提出的網(wǎng)頁數(shù)據(jù)的加密方法的流程圖;
圖3為二維矩陣圖;
圖4為cssclass位置信息圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提出了一種網(wǎng)頁數(shù)據(jù)的加密方法,包括以下步驟:
步驟101:將待處理的字符數(shù)據(jù)分割為字符塊,為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,生成由字典數(shù)據(jù)庫中字典字符塊隨機(jī)分布的二維矩陣圖片,并記錄字符塊在二維矩陣圖片中的坐標(biāo)位置;
步驟102:根據(jù)二維矩陣圖片和坐標(biāo)位置,在網(wǎng)頁中顯示字符塊組成的圖片。
可見,本發(fā)明實(shí)施例提出的網(wǎng)頁數(shù)據(jù)的加密方法,通過將待處理的字符數(shù)據(jù)分割成字符塊,并為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,將字典數(shù)據(jù)庫中字典字符塊隨機(jī)生成圖片,從而生成的圖片為字典字符塊無序組成,解析的規(guī)律性很低,從而識(shí)別工具無法破解圖片形式的數(shù)據(jù)。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在步驟101之前,還包括:
設(shè)置包括不同類型的字典字符塊的字典數(shù)據(jù)庫;
為字符塊匹配包括字符塊的字典數(shù)據(jù)庫:判斷字符塊類型,根據(jù)字符塊類型為字符塊匹配包括字符塊的字典數(shù)據(jù)庫。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在步驟101之后,還包括:
生成二維矩陣圖片的調(diào)用地址,對(duì)調(diào)用地址進(jìn)行加密設(shè)置,對(duì)二維矩陣圖片和調(diào)用地址進(jìn)行過期失效設(shè)置。
在本實(shí)施例中,通過加密設(shè)置和過期失效設(shè)置,降低頁面被采集的可能性。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在步驟101之前,還包括:
設(shè)置字典白名單;
字符塊存在于字典白名單時(shí),生成基于二維矩陣圖片的cssclass文件,并生成cssclass文件的調(diào)用地址。
步驟102包括:
根據(jù)二維矩陣圖片的調(diào)用地址獲取二維矩陣圖片,根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字符塊組成的圖片。
通過對(duì)存在于字典白名單的字典字符塊生成基于二維矩陣圖片的cssclass文件,瀏覽器可以隨機(jī)根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字符塊組成的圖片,從而增加了采集的難度。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,在將待處理的字符數(shù)據(jù)分割為字符塊之后,還包括:
根據(jù)網(wǎng)頁的顯示需要,為字符塊匹配適應(yīng)的格式。
如圖2所示,在本發(fā)明另一實(shí)施例提出了一種網(wǎng)頁數(shù)據(jù)的加密方法,包括以下步驟:
步驟201:設(shè)置不同類型的字典字符塊的字典數(shù)據(jù)庫和字典白名單。
詳細(xì)的,字符塊可以有多種字符類型,比如文字、字母、數(shù)字和符號(hào)等類型。可以設(shè)置包括52個(gè)大小寫字母的字母字典字符塊及包括0-9的十個(gè)數(shù)字的數(shù)字字典字符塊。
同時(shí),可以選取部分字符設(shè)置為字典白名單。
步驟202:將待處理的字符數(shù)據(jù)分割為字符塊,根據(jù)網(wǎng)頁的顯示需要,為字符塊匹配適應(yīng)的格式。
為使頁面請(qǐng)求時(shí)不因過多的圖片緩存而影響響應(yīng)速度,可以選擇一些關(guān)鍵性的信息作為待處理數(shù)據(jù)。
在進(jìn)行待處理的字符數(shù)據(jù)分割時(shí),可以對(duì)字符進(jìn)行矩形分割。舉例來說,需要處理的字符數(shù)據(jù)內(nèi)容是一個(gè)郵箱地址:dzz*h*@1**.com,可以根據(jù)頁面的展示需求,將每一個(gè)字符等寬分割為width:8px(pixel,像素);height:16px的字符塊。
同時(shí)為了滿足網(wǎng)頁的顯示需求,可以生成適應(yīng)的文字字體、樣式、顏色、字號(hào)、背景色,行高。
步驟203:為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,生成由字典數(shù)據(jù)庫中字典字符塊隨機(jī)分布的二維矩陣圖片。
詳細(xì)的,郵箱地址所包含的信息有英文、數(shù)字和符號(hào),所以為之匹配52個(gè)大小寫英文字母、10個(gè)數(shù)字、及7個(gè)常用符號(hào)的字典字符塊。
字典字符塊隨機(jī)分布填充為二維矩陣圖片的行,為使縱坐標(biāo)具有可變性,可以如圖3所示隨機(jī)配置10行。那么二維矩陣圖片的大小即為width:552px;height:160px。
其中,二維矩陣圖片中,字典字符塊在每一行中的分布位置是隨機(jī)的,行數(shù)也是可以隨機(jī)設(shè)置的,借此確保坐標(biāo)位置的橫縱雙向隨機(jī)性以提高加密效果。
另外,當(dāng)多個(gè)字典數(shù)據(jù)庫包括字符塊時(shí),可以選擇字典數(shù)據(jù)塊數(shù)量最少的一個(gè)字典數(shù)據(jù)庫進(jìn)行匹配。
步驟204:記錄字符塊在二維矩陣圖片中的坐標(biāo)位置,生成二維矩陣圖片的調(diào)用地址,對(duì)調(diào)用地址進(jìn)行加密設(shè)置,對(duì)二維矩陣圖片和調(diào)用地址進(jìn)行過期失效設(shè)置;字符塊存在于字典白名單時(shí),同時(shí)生成基于二維矩陣圖片的cssclass文件,并生成cssclass文件的調(diào)用地址。
詳細(xì)的,保存二維矩陣圖片后,記錄字符塊對(duì)應(yīng)的字典字符塊在二維矩陣圖片中的坐標(biāo)位置;當(dāng)字符塊存在于字典白名單時(shí),生成并記錄基于二維矩陣圖片的cssclass文件。
一個(gè)網(wǎng)頁請(qǐng)求可能會(huì)包含多個(gè)需要處理的字符塊,為了節(jié)省服務(wù)器資源和加快瀏覽器的渲染速度,在同一個(gè)網(wǎng)頁請(qǐng)求中處理的字符塊將共用同一個(gè)二維矩陣圖片,同一個(gè)cssclass文件。
調(diào)用地址可以使用aes(一種高級(jí)的區(qū)塊加密標(biāo)準(zhǔn))對(duì)稱加密,密鑰長度64位,且二維矩陣圖片與調(diào)用地址均過期失效。
舉例來說,存在于白名單的字符塊不僅具備如background-position:-160px-16px的坐標(biāo)描述,還具備了形式如map-a1f35f172fffd0afe63a8b1dda53d5c6的cssclass位置信息,從而不僅能夠以位置坐標(biāo)描述找到字符塊,還可以通過cssclass位置信息找到對(duì)應(yīng)的字符塊,再次降低字符塊拾取的規(guī)律性。
步驟205:根據(jù)二維矩陣圖片的調(diào)用地址獲取二維矩陣圖片,根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字典字符塊組成的圖片。
瀏覽器根據(jù)調(diào)用地址獲取二維矩陣圖片后,根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字典字符塊組成的圖片。其中,以坐標(biāo)位置呈現(xiàn)還是cssclass位置信息呈現(xiàn)是隨機(jī)的。
以一次瀏覽器訪問為例,字符塊d隨機(jī)顯示為圖4所示的cssclass位置信息,依次往下,字符塊z顯示的位置為width:-16px;height:-64px。最后,字符塊m顯示的位置為:width:-264px;height:-64px。
最終網(wǎng)頁的瀏覽器呈現(xiàn)的就是圖片化展示的信息,而服務(wù)器端返回的文件就呈現(xiàn)出無理論規(guī)律的加密狀態(tài),大大降低頁面被采集的可能性。
綜上所述,本發(fā)明實(shí)施例至少可以實(shí)現(xiàn)如下效果:
在本發(fā)明實(shí)施例中,通過將待處理的字符數(shù)據(jù)分割成字符塊,并為字符塊匹配包括字符塊的字典數(shù)據(jù)庫,將字典數(shù)據(jù)庫中字典字符塊隨機(jī)生成圖片,從而生成的圖片為字典字符塊無序組成,解析的規(guī)律性很低,從而識(shí)別工具無法破解圖片形式的數(shù)據(jù)。
在本發(fā)明實(shí)施例中,通過加密設(shè)置和過期失效設(shè)置,降低頁面被采集的可能性。
在本發(fā)明實(shí)施例中,通過生成基于二維矩陣圖片的cssclass文件,瀏覽器可以隨機(jī)根據(jù)坐標(biāo)位置或cssclass文件的位置信息在網(wǎng)頁中顯示字符塊組成的圖片,從而增加了工具識(shí)別和采集的難度。
在本發(fā)明實(shí)施例中,二維矩陣圖片中,字符塊和在每一行中的分布位置是隨機(jī)的,行數(shù)也是可以隨機(jī)設(shè)置的,從而可以確保坐標(biāo)位置的橫縱雙向隨機(jī)性以提高加密效果。
在本發(fā)明實(shí)施例中,在同一個(gè)網(wǎng)頁請(qǐng)求中處理的字符塊共用同一個(gè)二維矩陣圖片,同一個(gè)cssclass文件,從而節(jié)省服務(wù)器資源,加快瀏覽器的渲染速度。
在本發(fā)明實(shí)施例中,采用隨機(jī)加混合的策略,而不是非同步的多圖片下載緩存,從而可以不影響網(wǎng)頁的讀取速度。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。