基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及身份認(rèn)證技術(shù),尤其涉及一種基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)。
【背景技術(shù)】
[0002]用戶登陸應(yīng)用時(shí)通常需要進(jìn)行賬號(hào)密碼的驗(yàn)證,然而賬號(hào)密碼在一定時(shí)間內(nèi)是保持不變的,因此這樣很容易發(fā)生賬號(hào)密碼被盜用的情況,而為了提高賬號(hào)的安全性,在登陸時(shí)會(huì)增加動(dòng)態(tài)驗(yàn)證碼的機(jī)制。目前常用的動(dòng)態(tài)驗(yàn)證碼包含有動(dòng)態(tài)圖片,手機(jī)短信,動(dòng)態(tài)令牌等,但是這些傳統(tǒng)常用的動(dòng)態(tài)驗(yàn)證碼均存在不少的缺點(diǎn),例如:1、簡單的動(dòng)態(tài)圖片容易被程序識(shí)別,安全性不夠高,而復(fù)雜的動(dòng)態(tài)圖片則會(huì)使用戶難以辨別操作選擇,如12306網(wǎng)站的動(dòng)態(tài)圖片驗(yàn)證碼;2、當(dāng)手機(jī)被盜竊后則會(huì)造成手機(jī)短信上的驗(yàn)證碼泄露;3、當(dāng)令牌丟失后則會(huì)造成驗(yàn)證碼泄露,并且進(jìn)行驗(yàn)證時(shí),其需要專門的令牌服務(wù)器,從而會(huì)增加部署成本。
【發(fā)明內(nèi)容】
[0003]為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種安全性高、成本低、易于實(shí)現(xiàn)的基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法。
[0004]本發(fā)明的另一目的是提供一種安全性高、成本低、易于實(shí)現(xiàn)的基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證系統(tǒng)。
[0005]本發(fā)明所采用的技術(shù)方案是:基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法,該方法包括:
當(dāng)收到認(rèn)證請求時(shí),觸發(fā)隨機(jī)數(shù)的產(chǎn)生,并對隨機(jī)數(shù)進(jìn)行顯示;
登錄模塊獲取基于隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后所得到的驗(yàn)證碼,然后將驗(yàn)證碼發(fā)送至登錄認(rèn)證模塊;
登錄認(rèn)證模塊對驗(yàn)證碼進(jìn)行判斷,從而根據(jù)判斷結(jié)果來進(jìn)行登錄認(rèn)證。
[0006]進(jìn)一步,所述驗(yàn)證碼是通過加法、減法、乘法、除法、開方、冪、微分、積分中至少一種的運(yùn)算方式從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的。
[0007]進(jìn)一步,所述驗(yàn)證碼,其具體計(jì)算公式為:
C=Ab+Ba
其中,(:表示為驗(yàn)證碼,A表示為預(yù)設(shè)值,B表示為隨機(jī)數(shù)。
[0008]進(jìn)一步,所述的登錄認(rèn)證模塊對驗(yàn)證碼進(jìn)行判斷,從而根據(jù)判斷結(jié)果來進(jìn)行登錄認(rèn)證這一步驟,其具體為:
登錄認(rèn)證模塊將隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到第一數(shù)據(jù);
根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證。
[0009]進(jìn)一步,所述根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證這一步驟,其具體為:
判斷第一數(shù)據(jù)和驗(yàn)證碼是否相同,若相同,則表示登錄認(rèn)證成功;反之,則表示登錄認(rèn)證失敗。
[0010]本發(fā)明所采用的另一技術(shù)方案是:基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證系統(tǒng),該系統(tǒng)包括:
隨機(jī)數(shù)生成模塊,用于當(dāng)收到認(rèn)證請求時(shí),觸發(fā)隨機(jī)數(shù)的產(chǎn)生,并將隨機(jī)數(shù)發(fā)送至數(shù)據(jù)處理模塊;
數(shù)據(jù)處理模塊,用于對隨機(jī)數(shù)進(jìn)行接收,并對隨機(jī)數(shù)進(jìn)行顯示;
登錄模塊,用于獲取基于隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后所得到的驗(yàn)證碼,然后將驗(yàn)證碼發(fā)送至登錄認(rèn)證模塊;
登錄認(rèn)證模塊,用于對驗(yàn)證碼進(jìn)行判斷,從而根據(jù)判斷結(jié)果來進(jìn)行登錄認(rèn)證。
[0011]進(jìn)一步,所述驗(yàn)證碼是通過加法、減法、乘法、除法、開方、冪、微分、積分中至少一種的運(yùn)算方式從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的。
[0012]進(jìn)一步,所述驗(yàn)證碼,其具體計(jì)算公式為:
C=Ab+Ba
其中,(:表示為驗(yàn)證碼,A表示為預(yù)設(shè)值,B表示為隨機(jī)數(shù)。
[0013]進(jìn)一步,所述登錄認(rèn)證模塊具體用于將隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到第一數(shù)據(jù),根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證。
[0014]進(jìn)一步,所述根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證,其具體為:
判斷第一數(shù)據(jù)和驗(yàn)證碼是否相同,若相同,則表示登錄認(rèn)證成功;反之,則表示登錄認(rèn)證失敗。
[0015]本發(fā)明的有益效果是:本發(fā)明的方法是在登陸認(rèn)證過程中生成一隨機(jī)數(shù),而用戶通過得到隨機(jī)數(shù)后便能將隨機(jī)數(shù)和自己本身已知的預(yù)設(shè)值進(jìn)行計(jì)算,從而得到驗(yàn)證碼,接著登錄模塊獲取得到基于隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后所得到的驗(yàn)證碼后將其發(fā)送至登錄認(rèn)證模塊進(jìn)行登錄認(rèn)證。由此可得,通過使用本發(fā)明的方法,即使不法分子竊取到隨機(jī)數(shù),但是由于無法得到由用戶預(yù)先設(shè)置的預(yù)設(shè)值以及預(yù)設(shè)值與隨機(jī)數(shù)之間的計(jì)算公式,因此不法分子是不會(huì)得到真正的驗(yàn)證碼,這樣則能大大提高登錄認(rèn)證的安全性。而且,由于本發(fā)明方法中驗(yàn)證碼的產(chǎn)生與驗(yàn)證不需要專門的服務(wù)器,直接集成于應(yīng)用內(nèi)部,因此能降低部署和維護(hù)成本,同時(shí)也易于實(shí)現(xiàn)。
[0016]本發(fā)明的另一有益效果是:通過使用本發(fā)明的系統(tǒng),即使不法分子竊取到隨機(jī)數(shù),但是由于無法得到由用戶預(yù)先設(shè)置的預(yù)設(shè)值以及預(yù)設(shè)值與隨機(jī)數(shù)之間的計(jì)算公式,因此不法分子是不會(huì)得到真正的驗(yàn)證碼,這樣則能大大提高登錄認(rèn)證的安全性。還有,本發(fā)明系統(tǒng)中驗(yàn)證碼的產(chǎn)生與驗(yàn)證并不需要額外設(shè)置專門的服務(wù)器,其直接集成于應(yīng)用內(nèi)部,因此能降低部署和維護(hù)成本,而且也易于實(shí)現(xiàn)。
【附圖說明】
[0017]下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步說明:
圖1是本發(fā)明基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法的步驟流程圖;
圖2是本發(fā)明基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法的一具體實(shí)施例步驟流程圖; 圖3是本發(fā)明基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證系統(tǒng)的結(jié)構(gòu)框圖;
圖4是本發(fā)明基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證系統(tǒng)的一具體實(shí)施例結(jié)構(gòu)框圖;
圖5是本發(fā)明基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證系統(tǒng)的另一具體實(shí)施例結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0018]如圖1所示,基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法,該方法包括:
當(dāng)收到認(rèn)證請求時(shí),觸發(fā)隨機(jī)數(shù)的產(chǎn)生,并對隨機(jī)數(shù)進(jìn)行顯示;
登錄模塊獲取基于隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后所得到的驗(yàn)證碼,然后將驗(yàn)證碼發(fā)送至登錄認(rèn)證模塊;
登錄認(rèn)證模塊對驗(yàn)證碼進(jìn)行判斷,從而根據(jù)判斷結(jié)果來進(jìn)行登錄認(rèn)證。所述的預(yù)設(shè)值是由用戶預(yù)先設(shè)置的,并且預(yù)設(shè)值的個(gè)數(shù)可根據(jù)實(shí)際需要來設(shè)置。
[0019]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述驗(yàn)證碼是通過加法、減法、乘法、除法、開方、冪、微分、積分中至少一種的運(yùn)算方式從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的,也就是說,所述驗(yàn)證碼是通過加法、減法、乘法、除法、開方、冪、微分、積分中任一種或任兩種以上組合的運(yùn)算方式從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的。例如,所述的驗(yàn)證碼可僅通過加法從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的,也可以通過減法、開方和冪的組合、減法和乘法的組合等組合運(yùn)算方式從而對隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到的。
[0020]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述驗(yàn)證碼,其具體計(jì)算公式為:
C=Ab+Ba
其中,(:表示為驗(yàn)證碼,A表示為預(yù)設(shè)值,B表示為隨機(jī)數(shù)。
[0021]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述的登錄認(rèn)證模塊對驗(yàn)證碼進(jìn)行判斷,從而根據(jù)判斷結(jié)果來進(jìn)行登錄認(rèn)證這一步驟,其具體為:
登錄認(rèn)證模塊將隨機(jī)數(shù)和預(yù)設(shè)值進(jìn)行計(jì)算處理后得到第一數(shù)據(jù);
根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證。
[0022]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述根據(jù)得到的第一數(shù)據(jù)對驗(yàn)證碼進(jìn)行判斷,然后根據(jù)判斷結(jié)果從而進(jìn)行登錄認(rèn)證這一步驟,其具體為:
判斷第一數(shù)據(jù)和驗(yàn)證碼是否相同,若相同,則表示登錄認(rèn)證成功;反之,則表示登錄認(rèn)證失敗。
[0023]本發(fā)明方法的第一具體實(shí)施例
如圖2所示,基于預(yù)設(shè)值和動(dòng)態(tài)驗(yàn)證碼組合的動(dòng)態(tài)口令認(rèn)證方法,該方法具體包括:
5101、用戶預(yù)先設(shè)置一預(yù)設(shè)值A(chǔ);
5102、當(dāng)收到認(rèn)證請求時(shí),則觸發(fā)一隨機(jī)數(shù)B的產(chǎn)生,并對隨機(jī)數(shù)B進(jìn)行顯示;
5103、用戶得知隨機(jī)數(shù)B后,便將得到的隨機(jī)數(shù)B和自己本身已知的預(yù)設(shè)值A(chǔ)進(jìn)行計(jì)算處理,從而得到驗(yàn)證碼C,接著,將驗(yàn)證碼C輸入至登錄模塊,此時(shí),登錄模塊獲取得到基于隨機(jī)數(shù)B和預(yù)設(shè)值A(chǔ)進(jìn)行計(jì)算處理后所得到的驗(yàn)證碼C,然后將驗(yàn)證碼C發(fā)送至登錄認(rèn)證模塊;
其中,所述驗(yàn)證碼C的計(jì)算公式為: