專利名稱:一種基于不可逆矩陣的圖片驗證碼生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,具體涉及一種基于不可逆矩陣的圖片驗證碼生成方 法。
背景技術(shù):
在當(dāng)今的互聯(lián)網(wǎng),各種攻擊、欺騙、冒充行為充斥著整個Internet。黑客能夠利用 利用機(jī)器人程序自動注冊、登陸、發(fā)帖等,對互聯(lián)網(wǎng)安全造成嚴(yán)重的威脅。圖片驗證碼就是 一種阻止此類事件發(fā)生的途徑,防止被暴力破解。實際上使用圖片驗證碼是現(xiàn)在很多網(wǎng)站 通行的方式,比如招商銀行的網(wǎng)上個人銀行,騰訊的QQ社區(qū)等。所謂驗證碼,就是將一串隨 機(jī)產(chǎn)生的數(shù)字或符號,生成一幅圖片,圖片里加上一些干擾象素(防止OCR),由用戶肉眼識 別其中的驗證碼信息,輸入表單提交網(wǎng)站驗證,驗證成功后才能使用某項功能。常見的驗證碼包括1,四位數(shù)字,隨機(jī)的一數(shù)字字符串,最原始的驗證碼,驗證作 用幾乎為零;2,CSDN網(wǎng)站用戶登錄使用的GIF格式,目前常用的隨機(jī)數(shù)字圖片驗證碼。圖 片上的字符比較中規(guī)中矩,驗證作用比上一個好。3,QQ網(wǎng)站用戶登錄用的是PNG格式,圖片 由隨機(jī)數(shù)字和隨機(jī)大寫英文字母,整個構(gòu)圖有點張揚,每刷新一次,每個字符還會變位置; 4,MS Whotmail申請時候的是BMP格式,使用隨機(jī)數(shù)字,隨機(jī)大寫英文字母,隨機(jī)干擾像素 和隨機(jī)位置;5,Google的Gmail注冊時使用的JPG格式,使用隨機(jī)英文字母、隨機(jī)顏色、隨 機(jī)位置和隨機(jī)長度;6,其他各大論壇的是XBM格式,內(nèi)容隨機(jī);7,漢字驗證碼,它是字符串 內(nèi)容最為復(fù)雜的驗證碼,隨機(jī)生成;8、問題驗證碼,主要以問答形式進(jìn)行填寫。而現(xiàn)有的圖片驗證碼容易遭破解,也不容易很正確的理解圖片的內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種基于不可逆矩陣的圖片驗證碼生成方法,對圖像各像 素點實施不可逆變換,并在此基礎(chǔ)上,對變換后的圖片施加隨機(jī)噪聲圖片干擾,提高圖片的 反破解性,又不會降低人對圖像理解的準(zhǔn)確率。為解決上述技術(shù)問題,本發(fā)明的實施例提供以下技術(shù)方案實現(xiàn)的變換類型的選定及不可逆矩陣的生成;圖片的不可逆變換;圖片隨機(jī)噪聲的添加及多幅變換圖片的組合。所述變換類型的選定及不可逆矩陣的生成包括選定對圖片實施的變換類型及生成相應(yīng)的不可逆變換矩陣。所述圖片的不可逆變換包括通過矩陣相乘操作實施圖片變換。所述圖片隨機(jī)噪聲的添加及多幅變換圖片的組合包括在每幅變換后的圖片上施加隨機(jī)噪聲,并將若干幅此類圖片拼接組合為一幅圖 片。
在本發(fā)明的實施例中,是在用戶可以辨認(rèn)的情況下,對圖片施加旋轉(zhuǎn)、平移等變換 和縮放變換,再加上隨機(jī)內(nèi)容的干擾而形成圖片驗證碼。圖片通過實施原理上不可逆的變 換,添加隨機(jī)噪聲再將若干幅變換后的圖片拼接成為所需圖片驗證碼,從而提高圖片的反 破解性,又不會降低人對圖像理解的準(zhǔn)確率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例中的基于不可逆矩陣的圖片驗證碼生成方法流程圖;圖2為圖1中的生成不可逆的變換矩陣流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它 實施例,都屬于本發(fā)明保護(hù)的范圍。具體的,圖1是出了本發(fā)明實施例中的基于不可逆矩陣的圖片驗證碼生成方法流
圖,包括SlOl 變換類型的選定及不可逆矩陣的生成;圖片變換主要有平移、縮放和旋轉(zhuǎn)。對于圖片上某點(X,y)可以通過實施以下的 矩陣相乘達(dá)到(Δχ,Ay)平移變換。
對于圖像上某點(X,y)可以通過實施以下的矩陣相乘達(dá)到(s,h)的縮放變換。
對于圖像上某點(x,y)可以通過實施以下的矩陣相乘達(dá)到逆時針θ的縮放變換t
上述的三種變換是基本的圖片變換,而且變換矩陣均可逆,從原理上來說是可逆 的。可以對變換矩陣做若干改動使得其為不可逆矩陣,從而在原理上不可還原。首先是對平移矩陣的修改使之變?yōu)椴豢赡?。對平移矩陣做一下修?br>
行列式的值為Ι-fhcos θ +ehsin θ -gfsin θ -gecos θ,變換后的矩陣為可以取適 當(dāng)?shù)闹担沟?-fhcos θ +ehsin θ -gfsin θ -gecos θ為0,即矩陣不可逆,使得1+gx+hy接近
1,e,f在1到3個像素內(nèi)變換,再做縮放變換可得 因而當(dāng)選定變換方式后,可以根據(jù)上述原理生成不可逆的變換矩陣,具體的流程 圖可參閱到圖2,步驟如下S201 變換類型選定;S202 判斷是否進(jìn)行旋轉(zhuǎn)變換,如果是則進(jìn)行S203,否則進(jìn)行S206 ;S203 輸入旋轉(zhuǎn)參數(shù)及點坐標(biāo);S204:設(shè)定4個參數(shù);S205 由輸入?yún)?shù)確定4個設(shè)定參數(shù)值;S206 輸入平移參數(shù)及點坐標(biāo);S207:設(shè)定2個參數(shù);S208 由輸入?yún)?shù)確定2個設(shè)定參數(shù)值;S209 舉證相乘計算變換后的坐標(biāo)。S102 圖片的不可逆變換;將圖片中的每一個像素點均輔以坐標(biāo),以圖片左下方為像素點,選定變換方式后, 根據(jù)實施例一所示生成不可逆矩陣M,將像素點(X,y)變?yōu)榱邢蛄縖χ y 1Γ,對其實施乘 法運算得到如下的(x' ,Y')為新的像素點。 變換矩陣的行列式的值為l-gAy-fAX,可以根據(jù)設(shè)定的ΔΧ,Ay取相應(yīng)的g,f 使得行列式的值為0,即變換矩陣不可逆,并可以通過線性規(guī)劃求得g,f,使得fx+gy的值接 近0,爾后對矩陣實施整體縮放,使得 l/(fx+gy+l)接近于1,因而變換后的平移接近原有平移,但此時使用不可逆矩陣 實施變換。對旋轉(zhuǎn)矩陣作出以下修改
對與邊緣點進(jìn)行忽略處理。S103 圖片隨機(jī)噪聲的添加及多幅變換圖片的組合。在進(jìn)行不可逆變換后的圖片上施加隨機(jī)噪聲起到干擾作用,并將幾幅圖片拼接成 一張圖片形成圖片驗證碼。綜上可以看出,本發(fā)明實施例中通過對圖片變換類型選定,生成不可逆變換矩陣 并計算變換后的坐標(biāo),對變換后的坐標(biāo)施加噪聲,將若干張變換后并施加噪聲的圖片拼接 為一張,形成驗證碼,從而提高圖片的反破解性,又不會降低人對圖像理解的準(zhǔn)確率。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中,存 儲介質(zhì)可以包括只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。以上對本發(fā)明實施例所提供的一種數(shù)字家庭的地理信息的可視可聽化方法,進(jìn)行 了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例 的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員, 依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi) 容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
一種基于不可逆矩陣的圖片驗證碼生成方法,其特征在于,包括變換類型的選定及不可逆矩陣的生成;圖片的不可逆變換;圖片隨機(jī)噪聲的添加及多幅變換圖片的組合。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述變換類型的選定及不可逆矩陣的生 成包括選定對圖片實施的變換類型及生成相應(yīng)的不可逆變換矩陣。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述圖片的不可逆變換包括 通過矩陣相乘操作實施圖片變換。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述圖片隨機(jī)噪聲的添加及多幅變換圖 片的組合包括在每幅變換后的圖片上施加隨機(jī)噪聲,并將若干幅此類圖片拼接組合為一幅圖片。
全文摘要
本發(fā)明實施例公開了一種基于不可逆矩陣的圖片驗證碼生成方法,包括變換類型的選定及不可逆矩陣的生成;圖片的不可逆變換;圖片隨機(jī)噪聲的添加及多幅變換圖片的組合。通過實施本發(fā)明實施例,提高圖片的反破解性,又不會降低人對圖像理解的準(zhǔn)確率。
文檔編號G06T5/00GK101882298SQ20101021500
公開日2010年11月10日 申請日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者曾巨泉, 李春景, 羅笑南 申請人:中山大學(xué)