
本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種驗證碼的生成方法和裝置。
背景技術(shù):
:為了提升網(wǎng)絡(luò)安全性,驗證碼的使用越來越普及。目前,驗證碼多為服務(wù)器端生成,并發(fā)送給用戶,由用戶輸入驗證碼,服務(wù)器驗證用戶輸入的驗證碼是否和生成的驗證碼相同,如果相同,則驗證通過,否則驗證不通過。比較典型的應(yīng)用場景為客戶端支付過程,服務(wù)器發(fā)送第一隨機驗證碼至移動客戶端,移動客戶端接收到的驗證碼定義為第二隨機驗證碼,服務(wù)器判斷第二隨機驗證碼的時效性,并判斷第一驗證碼和用戶輸入的第二驗證碼的一致性來完成支付。但是,現(xiàn)有技術(shù)的缺陷在于隨機驗證碼的使用過程較為不便,尤其是在網(wǎng)絡(luò)不佳的情況下,用戶可能需要多次輸入驗證碼,用戶體驗不佳。技術(shù)實現(xiàn)要素:本發(fā)明的主要目的在于提供一種驗證碼的生成方法和裝置,以解決現(xiàn)有隨機驗證碼的使用較為不便的問題。針對上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案來解決的。本發(fā)明提供了一種驗證碼的生成方法,包括:采集用戶的指紋圖像;提取所述指紋圖像中的特征點;根據(jù)所述指紋圖像中的特征點,生成用于驗證的隨機驗證碼。其中,在提取所述指紋圖像中的特征點之后,且在生成用于驗證的隨機驗證碼之前,還包括:根據(jù)預(yù)先存儲的指紋圖像,對采集的所述指紋圖像進(jìn)行匹配驗證;在匹配驗證通過的情況下,生成用于驗證的隨機驗證碼。其中,采集用戶的指紋圖像,包括:利用預(yù)設(shè)的指紋模組,采集用戶的指紋圖像。其中,根據(jù)所述指紋圖像中的特征點,生成用于驗證的隨機驗證碼,包括:預(yù)先將指紋模組劃分為多個區(qū)域;確定所述指紋圖像處于每個區(qū)域中的特征點個數(shù);基于每個區(qū)域中包括的特征點個數(shù),生成用于驗證的隨機驗證碼。其中,所述特征點包括:末梢點和分叉點。本發(fā)明還提供了一種驗證碼的生成裝置,包括:采集模塊,用于采集用戶的指紋圖像;提取模塊,用于提取所述指紋圖像中的特征點;生成模塊,用于根據(jù)所述指紋圖像中的特征點,生成用于驗證的隨機驗證碼。其中,所述裝置還包括驗證模塊;所述驗證模塊,用于在提取所述指紋圖像中的特征點之后,且在生成用于驗證的隨機驗證碼之前,根據(jù)預(yù)先存儲的指紋圖像,對采集的所述指紋圖像進(jìn)行匹配驗證;在匹配驗證通過的情況下,生成用于驗證的隨機驗證碼。其中,所述采集模塊,具體用于利用預(yù)設(shè)的指紋模組,采集用戶的指紋圖像。其中,所述生成模塊,具體用于:預(yù)先將指紋模組劃分為多個區(qū)域;確定所述指紋圖像處于每個區(qū)域中的特征點個數(shù);基于每個區(qū)域中包括的特征點個數(shù),生成用于驗證的隨機驗證碼。其中,所述特征點包括:末梢點和分叉點。本發(fā)明有益效果如下:本發(fā)明利用指紋具有唯一性的特點,采集用戶的指紋圖像,并提取指紋圖像中的特征點,將指紋圖像分割為多份,并基于每份包含的特征點個數(shù),生成隨機驗證碼。將隨機驗證碼應(yīng)用到用戶驗證中,安全性高,且無需用戶過多操作,方便可靠。附圖說明此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是根據(jù)本發(fā)明一實施例的驗證碼的生成方法的流程圖;圖2是根據(jù)本發(fā)明一實施例的指紋模組的示意圖;圖3是根據(jù)本發(fā)明一實施例的驗證碼的使用的步驟流程圖;圖4是根據(jù)本發(fā)明一實施例的提取特征點的步驟流程圖;圖5是根據(jù)本發(fā)明一實施例的驗證碼的生成裝置的結(jié)構(gòu)圖。具體實施方式本發(fā)明利用指紋具有唯一性的特點,采集用戶的指紋圖像,并提取指紋圖像中的特征點,將指紋圖像分割為多份,并基于每份包含的特征點個數(shù),生成隨機驗證碼。因為用戶的指紋具有唯一性,所以該隨機驗證碼也具有唯一性。將隨機驗證碼應(yīng)用到用戶驗證中,安全性高,且無需用戶過多操作,方便可靠。進(jìn)一步地,該隨機驗證碼可以用于支付。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖及具體實施例,對本發(fā)明作進(jìn)一步地詳細(xì)說明。根據(jù)本發(fā)明的實施例,提供了一種驗證碼的生成方法。圖1是根據(jù)本發(fā)明一實施例的驗證碼的生成方法的流程圖。步驟s110,采集用戶的指紋圖像。通過指紋采集技術(shù)采集用戶的指紋圖像。指紋采集技術(shù)包括:光學(xué)全反射技術(shù)、硅晶體傳感器技術(shù)、超聲波掃描技術(shù)等等。本發(fā)明優(yōu)選的,通過指紋傳感器(指紋模組)采集用戶的指紋圖像。根據(jù)用戶手指在指紋傳感器上的位置的不同,采集的指紋圖像也會存在差異,這樣,可以使最終生成的驗證碼具有隨機性。例如:手指放置在傳感器的偏左的位置或者偏右的位置,采集到的指紋圖像是不同的。這樣不僅指紋具有唯一性的特點可以提供驗證的安全性,手指的放置位置也提升了驗證的安全性。步驟s120,提取指紋圖像中的特征點。指紋圖像的特征點包括:指紋紋路上的終結(jié)點(末梢點)、分叉點。具體的特征點提取步驟將在后面的實施例進(jìn)行詳細(xì)描述。在一個實施例中,為了保證客戶端安全,在提取指紋圖像中的特征點之后, 且在生成用于驗證的隨機驗證碼之前,還可以根據(jù)預(yù)先存儲的指紋圖像,對采集的所述指紋圖像進(jìn)行匹配驗證;在匹配驗證通過的情況下,生成用于驗證的隨機驗證碼;在匹配驗證不通過的情況下,提示用戶再次輸入指紋,若匹配驗證不通過的次數(shù)超過預(yù)定匹配驗證次數(shù),則進(jìn)行報警,如發(fā)出蜂鳴聲、或者向客戶端綁定的另一客戶端發(fā)送保護(hù)預(yù)定內(nèi)容的短信。具體的,將從采集的指紋圖像中提取的特征點與預(yù)先存儲的指紋圖像的特征點進(jìn)行比對,找到兩者的參考點,對兩幅指紋圖像進(jìn)行對準(zhǔn);然后求得兩個指紋圖像的特征點的相似度;如果求得的相似度高于此閾值,則匹配驗證通過,反之不通過。步驟s130,根據(jù)指紋圖像中的特征點,生成用于驗證的隨機驗證碼。根據(jù)指紋圖形中特征點的數(shù)量生成隨機驗證碼,該隨機驗證碼為條形碼、二維碼、或隨機碼。具體的,預(yù)先將指紋模組劃分為多個區(qū)域;用戶將手指按壓在指紋模組上采集指紋圖像,確定所述指紋圖像處于每個區(qū)域中的特征點個數(shù);基于每個區(qū)域中包括的特征點個數(shù),生成用于驗證的隨機驗證碼。進(jìn)一步地,可以在采集指紋圖像過程中提取每個區(qū)域中的特征點,并計算出每個區(qū)域中特征點的個數(shù)。例如:常見指紋模組的形狀有圓形和方形,將指紋模組的大小等分成8份,如圖2所示,根據(jù)指紋在指紋模組中的位置,統(tǒng)計每個區(qū)域中特征點的個數(shù)(0-99),用兩位十進(jìn)制數(shù)進(jìn)行表示,如區(qū)域1包括1個特征點、區(qū)域2包括3個特征點、區(qū)域3包括4個特征點、區(qū)域4包括6個特征點、區(qū)域5包括7個特征點、區(qū)域6包括1個特征點、區(qū)域7包括12個特征點、區(qū)域8包括5個特征點;按照區(qū)域代碼順序?qū)⑻卣鼽c數(shù)量排列在一起,得到一個十六位的隨機碼0103040607011205,可以將該隨機碼轉(zhuǎn)換成條形碼,將隨機碼和條形碼同時顯示在客戶端中。該隨機驗證碼可以用于驗證,如身份驗證、安全性驗證等。例如:在服務(wù)器端事先模擬用戶輸入指紋的位置,并生成用于比較的驗證碼,當(dāng)客戶端生成隨機驗證碼之后,發(fā)送到服務(wù)器,在服務(wù)器端進(jìn)行匹配,如果匹配成功,則驗證通過,反之驗證不通過。又如:本客戶端將生成的隨機驗證碼發(fā)送到服務(wù)器;其他客戶端從本客戶 端獲取該隨機驗證碼并發(fā)送到服務(wù)器;服務(wù)器如果發(fā)現(xiàn)本客戶端發(fā)送的隨機驗證碼和其他客戶端發(fā)送的隨機驗證碼相同,則判定其他客戶端具備和本客戶端進(jìn)行交互的主體,允許其他客戶端和本客戶端通過服務(wù)器進(jìn)行交互;反之,禁止其他客戶端通過服務(wù)器進(jìn)行交互。在隨機驗證碼的使用上,可以包括以下步驟。圖3是根據(jù)本發(fā)明一實施例的驗證碼的使用的步驟流程圖。步驟s310,第一客戶端根據(jù)第一用戶的指紋圖像生成隨機驗證碼。第一用戶是使用第一客戶端的用戶。第一用戶在第一客戶端中添加第一用戶信息,并設(shè)置與該第一用戶信息綁定的第三方。第一用戶信息綁定的第三方可以是第一數(shù)據(jù)服務(wù)器。在第一數(shù)據(jù)服務(wù)器中,設(shè)置有第一用戶的賬戶。步驟s320,第一客戶端將隨機驗證碼、第一用戶信息發(fā)送到服務(wù)器。步驟s330,第二客戶端從第一客戶端處獲取隨機驗證碼,并將獲取的隨機驗證碼、第二用戶信息發(fā)送到服務(wù)器。第二用戶是使用第二客戶端的用戶。第二用戶在第二客戶端中添加第二用戶信息,并設(shè)置與該第二用戶信息綁定的第三方。第二用戶信息綁定的第三方可以是第二數(shù)據(jù)服務(wù)器。在第二數(shù)據(jù)服務(wù)器中,設(shè)置有第二用戶的賬戶。步驟s340,服務(wù)器如果發(fā)現(xiàn)第一客戶端發(fā)送的隨機驗證碼和第二客戶端發(fā)送的隨機驗證碼相同,則允許第一用戶信息綁定的第三方和第二用戶信息綁定的第三方進(jìn)行數(shù)據(jù)交互。第一用戶信息綁定的第三方和第二用戶信息綁定的第三方進(jìn)行數(shù)據(jù)交互,也即是在第一用戶的賬戶和第二用戶的賬戶之間進(jìn)行數(shù)據(jù)交互。例如:用戶客戶端根據(jù)指紋圖像生成隨機驗證碼,將其顯示在用戶客戶端中,并發(fā)送到服務(wù)器;商家客戶端通過在用戶客戶端掃描隨機驗證碼,進(jìn)而獲得該隨機驗證碼,將該隨機驗證碼發(fā)送給服務(wù)器;服務(wù)器發(fā)現(xiàn)用戶客戶端發(fā)送的隨機驗證碼和商家客戶端發(fā)送的隨機驗證相同,則允許用戶客戶端和商家客戶端之間的支付交易,反之不允許。通過本實施例,第一客戶端根據(jù)用戶輸入的指紋可以進(jìn)行第一客戶端側(cè)的用戶驗證,可以根據(jù)指紋圖像生成隨機驗證碼,避免使用傳統(tǒng)的由服務(wù)器側(cè)生 成的驗證碼,增加驗證碼使用的安全性,在此過程中,用戶操作簡單。為了使本發(fā)明特征點提取的過程更加清晰,下面對特征點提取的步驟進(jìn)行進(jìn)一步說明。圖4是根據(jù)本發(fā)明一實施例的提取特征點的步驟流程圖。步驟s410,對指紋圖像進(jìn)行歸一化。對指紋圖像進(jìn)行歸一化操作的目的是增圖像中強脊線和谷線的對比度,使指紋圖像處在同一亮度級上,便于后續(xù)的分割處理的閾值選取。將指紋圖像i分成n×n塊,n>1;i(i,j)表示指紋圖像第i行、第j列的灰度值。假設(shè)圖像分辨率是500dpi,那么指紋圖像的平均灰度值m(i)和灰度值的方差var(i)分別為:對m(i)和var(i)進(jìn)行歸一化處理,歸一化的公式為:其中,g(i,j)是歸一化后的灰度值,m0是灰度平均值的期望,var0是方差值的期望。歸一化后的指紋圖像的灰度值都在m0附近。步驟s420,在歸一化后的指紋圖像中提取指紋圖像前景。對歸一化后的指紋圖像進(jìn)行前景和背景的分割,后續(xù)操作只對指紋圖像的前景區(qū)進(jìn)行處理,從而可以提高處理效率。步驟s430,對指紋圖像前景進(jìn)行濾波增強處理。在進(jìn)行濾波增加處理時,還可以對指紋圖像前景進(jìn)一步去除噪聲,連接脊線斷裂的地方。具體可以使用gabor濾波器或是方向模板濾波器來執(zhí)行。步驟s440,對濾波增強處理之后的指紋圖像前景進(jìn)行二值化處理。指紋圖像前景濾波之后再進(jìn)行二值化操作,也即脊線提取操作。二值化之后的指紋圖像前景中的脊線和谷線的紋路將會變得十分清晰。本實施例優(yōu)選的,采用方向分割法對指紋圖形前景進(jìn)行二值化處理。方向分割法是利用方向信息進(jìn)行二值化的方法,此法還具有一定的增強效果。在二值化處理后的指紋圖形前景中提取脊線的骨架信息,去除與特征提取無關(guān)的冗余信息,減少信息的存儲量。步驟s450,提取指紋圖像前景的局部特征。指紋特征包括全局特征和局部特征,全局特征適用于指紋的分類,局部特征用于指紋的匹配,所以本發(fā)明中只需要提取局部特征。局部特征是指紋中的細(xì)節(jié)特征,可以通過細(xì)化后的指紋圖像求得,因為細(xì)化后的指紋圖像中的所有像素點的灰度值只能為0或者1,0表示背景點灰度(白色),1表示紋線點灰度(黑色)。本實施例提取的細(xì)節(jié)特征包括:末梢點和分叉點。步驟s460,在局部特征中提取特征點。獲得細(xì)化后的指紋圖像后,在一個3×3的模板中,以待檢測點p(i,j)為中心點,如下表1所示,根據(jù)相鄰各點灰度值之間的關(guān)系,可以判斷待檢測點p(i,j)是否為特征點。p4(i+1,j-1)p3(i+1,j)p2(i+1,j+1)p5(i,j-1)p(i,j)p1(i,j+1)p6(i-1,j-1)p7(i-1,j)p8(i-1,j+1)如果相鄰各點灰度值cn滿足下式時,則p(i,j)為末梢點。如果相鄰各點灰度值cn滿足下式時,則p(i,j)為分叉點。式中,p(k)為pk(i,j)對應(yīng)的灰度值,8≥k≥1。對細(xì)化后的指紋圖像,沿著脊線進(jìn)行從上到下、從左至右的遍歷,以上述兩式為判斷依據(jù),保存特征點的類型和位置,并獲取局部脊線的方向和脊線上的采樣點信息。特征點的提取過程中會包含偽特征點,可以將其去除。進(jìn)一步地,根據(jù)特征點間的位置關(guān)系濾除偽特征點。指紋圖像前景的邊緣部分顯示為多個端點,將這些端點去除。本發(fā)明提供了一種驗證碼的生成裝置。圖5是根據(jù)本發(fā)明一實施例的驗證碼的生成裝置的結(jié)構(gòu)圖。所述裝置包括:采集模塊510,用于采集用戶的指紋圖像。提取模塊520,用于提取所述指紋圖像中的特征點。所述特征點包括:末梢點和分叉點。生成模塊530,用于根據(jù)所述指紋圖像中的特征點,生成用于驗證的隨機驗證碼。所述裝置還包括驗證模塊(未示出);所述驗證模塊,用于在提取所述指紋圖像中的特征點之后,且在生成用于驗證的隨機驗證碼之前,根據(jù)預(yù)先存儲的指紋圖像,對采集的所述指紋圖像進(jìn)行匹配驗證;在匹配驗證通過的情況下,生成用于驗證的隨機驗證碼。在一個實施例中,所述采集模塊510,具體用于利用預(yù)設(shè)的指紋模組,采集用戶的指紋圖像。所述生成模塊530,具體用于:預(yù)先將指紋模組劃分為多個區(qū)域;確定所述指紋圖像處于每個區(qū)域中的特征點個數(shù);基于每個區(qū)域中包括的特征點個數(shù),生成用于驗證的隨機驗證碼。本實施例所述的裝置的功能已經(jīng)在圖1-圖4所示的方法實施例中進(jìn)行了描述,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關(guān)說明,在此不做贅述。以上所述僅為本發(fā)明的實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。當(dāng)前第1頁12