本發(fā)明實施例涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及組合按鍵的驗證方法和驗證裝置。
背景技術(shù):
隨著用戶的安全意識提高,“密碼”已經(jīng)成為了用戶生活中不可缺少的組成部分。例如,為手機(jī)設(shè)置密碼、為電腦設(shè)置密碼、為照片設(shè)置密碼或者為應(yīng)用程序設(shè)置密碼等。
然而,用戶在設(shè)置密碼時,通常是點擊一定數(shù)量的按鍵,并將各按鍵對應(yīng)的信息按照輸入的順序進(jìn)行組合得到最終密碼的組合按鍵信息。在用戶解鎖時,需要用戶點擊該數(shù)量下的按鍵,并在點擊全部完成后,按照輸入的順序進(jìn)行組合得到組合按鍵信息,并將組合按鍵信息與密碼對應(yīng)的組合按鍵信息進(jìn)行比對,若其中一個按鍵信息輸入錯誤,則刪除全部按鍵信息,并提示用戶重新錄入。一般而言,用戶為了讓密碼的安全性更高,會設(shè)置較為復(fù)雜的按鍵信息組成密碼,若在解碼過程中不小心輸入錯誤的按鍵信息,則會導(dǎo)致用戶頻繁的輸入全部的密碼。同時,在用戶完成輸入后,才會進(jìn)行信息比對。這樣會使得解鎖效率很低,并且耗費較長的時間。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種組合按鍵的驗證方法和驗證裝置,以優(yōu)化現(xiàn)有的組合按鍵驗證方案,解決驗證效率低的技術(shù)問題。
第一方面,本發(fā)明實施例提供了一種組合按鍵的驗證方法,包括:
確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置;
將所述當(dāng)前按鍵信息與目標(biāo)組合按鍵中所述位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,并根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入是否正確。
第二方面,本發(fā)明實施例還提供了一種組合按鍵的驗證裝置,包括:
位置確定模塊,用于確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置;
輸入比對模塊,用于將所述當(dāng)前按鍵信息與目標(biāo)組合按鍵中所述位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,并根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入是否正確。
本發(fā)明實施例提供的組合按鍵的驗證方法和驗證裝置,通過確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置,將目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息與用戶輸入的當(dāng)前按鍵信息進(jìn)行比對,以確定用戶輸入的當(dāng)前按鍵信息是否準(zhǔn)確的技術(shù)手段,實現(xiàn)了逐個確定用戶輸入的按鍵信息是否準(zhǔn)確的技術(shù)效果,提高了組合按鍵的驗證效率。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本發(fā)明實施例一提供的一種組合按鍵的驗證方法的流程圖;
圖2為本發(fā)明實施例二提供的一種組合按鍵的驗證方法的流程圖;
圖3為本發(fā)明實施例三提供的一種組合按鍵的驗證裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
實施例一
圖1為本發(fā)明實施例一提供的一種組合按鍵的驗證方法的流程圖。本實施例提供的驗證方法可以由組合按鍵的驗證裝置來實現(xiàn),其中,該驗證裝置可以通過軟件和/或硬件的方式實現(xiàn),并集成在智能終端中。參考圖1,該驗證方法具體包括:
S110、確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置。
在本實施例中,智能終端為智能手機(jī)、平板電腦、筆記本電腦以及臺式電腦等智能設(shè)備。上述智能終端中,用戶可以通過點擊實際的按鍵或者點擊觸摸屏幕中的虛擬按鍵為某些功能或者文件設(shè)定密碼。其中,密碼的具體內(nèi)容為將各按鍵對應(yīng)的按鍵信息按照輸入順序進(jìn)行組合后得到的內(nèi)容。相對的,用戶解碼的過程就是對組合按鍵進(jìn)行驗證的過程。
示例性的,當(dāng)用戶準(zhǔn)確解鎖某個密碼時,智能終端顯示對應(yīng)的解鎖界面,以使用戶通過點擊按鍵輸入按鍵信息。
當(dāng)前按鍵信息為用戶當(dāng)前點擊的按鍵對應(yīng)的按鍵信息。由于用戶在輸入按鍵信息時,是按照設(shè)定的按鍵順序進(jìn)行輸入的。所以,可以根據(jù)當(dāng)前按鍵信息的輸入順序確定該當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置,或者確定已經(jīng)輸入的按鍵信息的個數(shù),進(jìn)而確定當(dāng)前按鍵信息的位置。其中,當(dāng)前組合按鍵為用戶解碼時輸入的組合按鍵。
例如,當(dāng)前按鍵信息為用戶在解鎖時點擊第5個按鍵得到的信息,則確定上述當(dāng)前按鍵信息在當(dāng)前組合按鍵中的第5個位置上。又如,確定已經(jīng)輸入的按鍵信息的個數(shù)為3個,則當(dāng)前按鍵信息的位置為第4個位置。
S120、將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,并根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入是否正確。
目標(biāo)組合按鍵可以認(rèn)為是用戶設(shè)定的密碼,即當(dāng)前組合按鍵驗證時的參考組合按鍵。當(dāng)用戶準(zhǔn)確解鎖某個密碼時,調(diào)用該密碼的目標(biāo)組合按鍵。
具體的,在目標(biāo)組合按鍵中查找到與當(dāng)前按鍵信息位置對應(yīng)的目標(biāo)按鍵信息。將當(dāng)前按鍵信息與對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,以確定用戶輸入的當(dāng)前按鍵信息是否正確。
例如,用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中第4個位置,則在目標(biāo)組合按鍵中查找到第4個位置對應(yīng)的目標(biāo)按鍵信息,將目標(biāo)按鍵信息與當(dāng)前按鍵信息進(jìn)行比對,以確定用戶輸入的當(dāng)前按鍵信息是否正確。
在比對時,可以是確定當(dāng)前按鍵信息與目標(biāo)按鍵信息是否完全相同,若完全相同,則說明用戶輸入的當(dāng)前按鍵信息正確,否則,說明用戶輸入的當(dāng)前按鍵信息錯誤。
可選的,智能終端在處理按鍵信息時,通常是將按鍵信息轉(zhuǎn)換成二進(jìn)制數(shù)值,所以將當(dāng)前按鍵信息與目標(biāo)按鍵信息進(jìn)行比對時,通過比對對應(yīng)的二進(jìn)制數(shù)值以確定比對結(jié)果。由于一個按鍵信息可能被轉(zhuǎn)換成位數(shù)很長的二進(jìn)制數(shù)值,如果逐一比對二進(jìn)制數(shù)值,會產(chǎn)生很大的比對量。因此,對當(dāng)前按鍵信息的二進(jìn)制數(shù)值和目標(biāo)按鍵信息的二進(jìn)制數(shù)值進(jìn)行進(jìn)一步的計算,以減少比對量,簡化比對過程。
其中,在做進(jìn)一步計算時,可以采用異或運算、同或運算或者減法運算。得到運算結(jié)果后,根據(jù)運算結(jié)果確定用戶輸入的當(dāng)前按鍵信息是否正確。以異或運算為例,將當(dāng)前按鍵信息與目標(biāo)按鍵信息進(jìn)行異或運算。如果當(dāng)前按鍵信息輸入正確,則說明當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值完全相同,在進(jìn)行異或運算時,得到的結(jié)果全部為零。所以,在確定當(dāng)前按鍵信息是否輸入正確時,僅需要確定運算結(jié)果是否全部為零即可。
需要說明是,采用其他格式的數(shù)值進(jìn)行比對時,也可以采用減法運算等方法進(jìn)行進(jìn)一步的運算,以根據(jù)運算結(jié)果確定比對結(jié)果。
進(jìn)一步的,當(dāng)確定當(dāng)前按鍵信息輸入正確后,繼續(xù)確定用戶輸入的下一個按鍵信息是否輸入正確,即將用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息,然后繼續(xù)采用本實施例提供的驗證方法,直到全部按鍵信息都輸入正確后,停止對當(dāng)前組合按鍵的驗證。
當(dāng)確定當(dāng)前按鍵信息輸入錯誤后,若僅刪除用戶輸入錯誤的按鍵信息,則會降低密碼的安全性。所以,當(dāng)確定當(dāng)前按鍵信息輸入錯誤后,在已經(jīng)輸入的按鍵信息中,刪除包括當(dāng)前按鍵信息在內(nèi)的第一設(shè)定個數(shù)的按鍵信息,并提示用戶重新輸入。其中,在提示用戶重新輸入時,并不會提示具體哪個按鍵信息輸入錯誤。
為了進(jìn)一步的提高安全性,在用戶輸入錯誤的按鍵信息后,繼續(xù)讓用戶輸入按鍵信息,并確定當(dāng)前按鍵信息的位置,此時停止當(dāng)前按鍵信息與目標(biāo)按鍵信息的比較。當(dāng)用戶繼續(xù)輸入第二設(shè)定個數(shù)的按鍵信息后,刪除第一設(shè)定個數(shù)的按鍵信息。其中,第二設(shè)定個數(shù)小于第一設(shè)定個數(shù)。
上述第一設(shè)定個數(shù)至少為2,其具體值可以根據(jù)實際情況設(shè)定。其中,對于同一當(dāng)前組合按鍵而言,在當(dāng)前按鍵信息位置不同時,第一設(shè)定個數(shù)和第二設(shè)定個數(shù)可以相同,也可以不相同。
例如,當(dāng)前組合按鍵包括8個按鍵信息時,設(shè)定個數(shù)可以為3。當(dāng)用戶輸入錯誤的當(dāng)前按鍵信息時,繼續(xù)獲取用戶輸入的2個按鍵信息后,刪除當(dāng)前按鍵信息以及當(dāng)前按鍵信息的前2位,即刪除3個按鍵信息,當(dāng)前按鍵信息為用戶最新輸入的按鍵信息。
刪除按鍵信息后,獲取用戶的按鍵信息作為當(dāng)前按鍵信息,重新驗證當(dāng)前按鍵信息是否輸入正確,直到當(dāng)前組合按鍵中按鍵信息全部輸入正確。
例如,當(dāng)前組合按鍵包括12個按鍵信息時,若在輸入前4個位置的按鍵信息時,出現(xiàn)錯誤的當(dāng)前按鍵信息,則繼續(xù)獲取用戶輸入的2個按鍵信息,然后刪除已輸入的全部按鍵信息;若在輸入第5-8個位置的按鍵信息時,出現(xiàn)錯誤的當(dāng)前按鍵信息,則繼續(xù)獲取用戶輸入的1個按鍵信息后,刪除已輸入的全部按鍵信息;若在輸入第9-11個位置的按鍵信息時,出現(xiàn)錯誤的當(dāng)前按鍵信息,則繼續(xù)獲取用戶輸入的1個按鍵信息后,刪除當(dāng)前按鍵信息,以及當(dāng)前按鍵信息的前6個位置的按鍵信息。若在第12個位置輸入錯誤的按鍵信息,則刪除當(dāng)前按鍵信息,以及當(dāng)前按鍵信息的前7個位置的按鍵信息。假設(shè)在第12個位置輸入錯誤的按鍵信息時,刪除當(dāng)前按鍵信息以及前7個位置的按鍵信息,再次獲取用戶輸入的當(dāng)前按鍵信息,并確定當(dāng)前按鍵信息在當(dāng)前組合按鍵的第5個位置,將當(dāng)前按鍵信息與目標(biāo)組合按鍵中第5個位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,以確定當(dāng)前按鍵信息是否輸入正確。
本實施例提供的技術(shù)方案,通過確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置,并將目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息與當(dāng)前按鍵信息進(jìn)行比對,以確定當(dāng)前按鍵信息輸入是否正確的技術(shù)手段,實現(xiàn)了逐個驗證組合按鍵中按鍵信息的技術(shù)效果,減小了按鍵信息的比對量,提升了比對效率。
實施例二
圖2為本發(fā)明實施例二提供的一種組合按鍵的驗證方法的流程圖。本實施例是在上述實施例的基礎(chǔ)上進(jìn)行優(yōu)化,參考圖2,該驗證方法具體包括:
S210、確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置。
S220、將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對。
在本實施例中,目標(biāo)組合按鍵中的目標(biāo)按鍵信息為二進(jìn)制數(shù)值形式。同時,將獲取的當(dāng)前按鍵信息轉(zhuǎn)換成二進(jìn)制數(shù)值形式。
當(dāng)前按鍵信息和目標(biāo)按鍵信息為二進(jìn)制數(shù)值時,該步驟可包括下述三個方案:
方案一、將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行異或運算。
將當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值逐位進(jìn)行異或運算,得到運算結(jié)果。
若運算結(jié)果為全部為0,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值相同,即當(dāng)前按鍵信息輸入正確。若運算結(jié)果中出現(xiàn)1,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值不完全相同,即當(dāng)前按鍵信息輸入錯誤。
方案二、將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行同或運算。
將當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值逐位進(jìn)行同或運算,得到運算結(jié)果。
若運算結(jié)果為全部為1,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值相同,即當(dāng)前按鍵信息輸入正確。若運算結(jié)果中出現(xiàn)0,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值不完全相同,即當(dāng)前按鍵信息輸入錯誤。
方案三、將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行減法運算。
將當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值逐位進(jìn)行減法運算,得到運算結(jié)果。
進(jìn)行減法運算時,取差的絕對值作為運算結(jié)果。若運算結(jié)果為全部為0,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值相同,即當(dāng)前按鍵信息輸入正確。若運算結(jié)果中出現(xiàn)1,則確認(rèn)當(dāng)前按鍵信息的二進(jìn)制數(shù)值與目標(biāo)按鍵信息的二進(jìn)制數(shù)值不完全相同,即當(dāng)前按鍵信息輸入錯誤。
通過采用上述運算方法對當(dāng)前按鍵信息和目標(biāo)按鍵信息進(jìn)行進(jìn)一步的運算,可以簡化比對過程,并提升比對的效率。
S230、根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入是否正確。若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入正確,則執(zhí)行S240,若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入錯誤,則執(zhí)行S260。
S240、判斷當(dāng)前組合按鍵中按鍵信息是否全部輸入正確。若是,則執(zhí)行S280,否則,執(zhí)行S250。
在判斷當(dāng)前組合按鍵中按鍵信息是否全部輸入正確時,可以是判斷輸入正確的當(dāng)前按鍵信息的位置是否為當(dāng)前組合按鍵中的最后一個位置。
S250、將用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息。返回執(zhí)行S210。
S260、刪除已輸入的第一設(shè)定個數(shù)的按鍵信息。
其中,第一設(shè)定個數(shù)的按鍵信息為當(dāng)前輸入的全部按鍵信息或為當(dāng)前按鍵信息以及該位置與該位置的前N個位置之間的全部按鍵信息,其中,N至少為2,該位置為當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置。
進(jìn)一步的,同一當(dāng)前組合按鍵中的當(dāng)前按鍵信息位置不同時,第一設(shè)定個數(shù)可以不相同。
例如,當(dāng)前組合按鍵包括10個按鍵信息,若在確定當(dāng)前按鍵信息輸入錯誤時,刪除當(dāng)前已經(jīng)輸入的全部按鍵信息。
又如,當(dāng)前組合按鍵包括10個按鍵信息,若在確定當(dāng)前按鍵信息輸入錯誤時,將當(dāng)前按鍵信息以及當(dāng)前按鍵信息的前3個按鍵信息全部刪除,其中,N等于3。
為了進(jìn)一步的保證安全性,在該步驟之前,優(yōu)選包括:獲取用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息,直到獲取到第二設(shè)定個數(shù)的按鍵信息。
其中,第二設(shè)定個數(shù)小于第一設(shè)定個數(shù),以防止刪除第一設(shè)定個數(shù)的按鍵信息中不包括輸入錯誤的按鍵信息。
同一當(dāng)前組合按鍵在不同位置輸入錯誤按鍵信息時,第二設(shè)定個數(shù)可以不同。
具體的,獲取用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息后,無需對當(dāng)前按鍵信息的正確性進(jìn)行判斷,僅需繼續(xù)獲取用戶輸入的當(dāng)前按鍵信息,直到獲取到第二設(shè)定個數(shù)的按鍵信息。
若確定輸入錯誤的當(dāng)前按鍵信息為當(dāng)前組合按鍵的最后一位,則不會繼續(xù)獲取用戶輸入的下一個按鍵信息,而是直接刪除第一設(shè)定個數(shù)的按鍵信息。
例如,當(dāng)前組合按鍵包括16個按鍵信息時,若在輸入前8個位置的按鍵信息時,出現(xiàn)錯誤的按鍵信息,則繼續(xù)獲取用戶輸入的2個按鍵信息后,刪除已輸入的全部按鍵信息;若在輸入第9-15個位置的按鍵信息時,出現(xiàn)錯誤的按鍵信息,則繼續(xù)獲取用戶輸入的1個按鍵信息后,刪除當(dāng)前按鍵信息以及當(dāng)前按鍵信息的前6個位置的按鍵信息。若在第16個位置輸入錯誤的按鍵信息,則刪除當(dāng)前按鍵信息以及當(dāng)前按鍵信息的前6個位置的按鍵信息。
這樣做的好處是,不會讓用戶明確哪個按鍵信息輸入錯誤,提高了密碼的安全性。
S270、獲取用戶輸入的當(dāng)前按鍵信息。返回執(zhí)行S210。
將用戶重新輸入的按鍵信息作為當(dāng)前按鍵信息。
S280、結(jié)束。
若當(dāng)前組合按鍵的全部按鍵信息與目標(biāo)組合按鍵的全部按鍵信息比對后,確認(rèn)當(dāng)前組合按鍵的按鍵信息全部正確,則確認(rèn)組合按鍵驗證成功,即解鎖成功。
下面對本實施例提供的驗證方法進(jìn)行示例性的描述:
設(shè)定目標(biāo)組合按鍵。其中,在用戶輸入目標(biāo)組合按鍵的按鍵信息后,確定目標(biāo)組合按鍵的按鍵個數(shù),并以長整型數(shù)組的形式保存該目標(biāo)組合按鍵的全部按鍵信息。
當(dāng)開啟組合按鍵的驗證模式后,將對應(yīng)的目標(biāo)組合按鍵中目標(biāo)按鍵信息按輸入順序映射到一個大數(shù)密碼矩陣中,其中,每個目標(biāo)按鍵信息占據(jù)一個字節(jié)。同時,確定該目標(biāo)組合按鍵的按鍵個數(shù)。
將目標(biāo)按鍵信息按輸入順序映射到一個大數(shù)密碼矩陣時,定義該目標(biāo)按鍵信息為十六進(jìn)制數(shù)值,且該大數(shù)密碼矩陣中最多存放8個按鍵信息。由于大數(shù)密碼矩陣中存放的數(shù)據(jù)為二進(jìn)制數(shù)值形式,因此,將目標(biāo)按鍵信息轉(zhuǎn)換成二進(jìn)制數(shù)值后映射到大數(shù)密碼矩陣中。該大數(shù)密碼矩陣中共有64位,且每8位為一個字節(jié),即一個目標(biāo)按鍵信息。在映射第一個目標(biāo)按鍵信息后,將映射的第二目標(biāo)按鍵信息右移8位,將映射的第三個目標(biāo)按鍵信息右移16位,依次類推,直到將全部目標(biāo)按鍵信息按輸入順序完成映射。
上述為組合按鍵驗證的準(zhǔn)確步驟,下面為具體的驗證過程。
將輸入的按鍵信息臨時存儲在輸入大數(shù)密碼矩陣中,其中,輸入的按鍵信息為二進(jìn)制數(shù)值形式。進(jìn)一步的,當(dāng)前按鍵信息映射到輸入大數(shù)密碼矩陣的位置與對應(yīng)的目標(biāo)按鍵信息在大數(shù)密碼矩陣的位置相同。將當(dāng)前按鍵信息與目標(biāo)按鍵信息做異或運算,如果結(jié)果全部為0,則繼續(xù)映射下一個輸入的按鍵信息。同時,記錄當(dāng)前已輸入按鍵信息的個數(shù)。如果結(jié)果不全部為0,則清除輸入大數(shù)密碼矩陣中的全部數(shù)據(jù),即重置變量。
依次類推,當(dāng)輸入的最后一個按鍵信息與對應(yīng)的目標(biāo)按鍵信息異或運算結(jié)果全部為0時,確定組合按鍵驗證成功。
其中,當(dāng)?shù)谝淮萎惢蜻\算結(jié)束后,將運算結(jié)果左移7個字節(jié),當(dāng)?shù)诙萎惢蜻\算結(jié)束后,將運算結(jié)果左移6個字節(jié),依次類推,直到完成最后一次異或運算。這樣做的好處是可以保證運算結(jié)果的準(zhǔn)確性,防止已完成運算的運算結(jié)果對當(dāng)前運算結(jié)果的影響。
本實施例的技術(shù)方案,在確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵的位置后,將目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息與當(dāng)前按鍵信息進(jìn)行比對,若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入正確,則繼續(xù)驗證下一個當(dāng)前按鍵信息,若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入錯誤,則刪除已經(jīng)輸入的第一設(shè)定個數(shù)的按鍵信息,并重新獲取用戶輸入的當(dāng)前按鍵信息進(jìn)行后續(xù)驗證操作,實現(xiàn)了逐個驗證組合按鍵中的按鍵信息,減小了驗證工作量,提高了驗證效率。同時,刪除設(shè)定個數(shù)的按鍵信息,也可以防止用戶確定錯誤按鍵信息的輸入位置,保證了安全性。
實施例三
圖3為本發(fā)明實施例三提供的一種組合按鍵的驗證裝置的結(jié)構(gòu)示意圖。參考圖3,該驗證裝置包括:位置確定模塊301和輸入比對模塊302。
其中,位置確定模塊301,用于確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置;輸入比對模塊302,用于將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對,并根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入是否正確。
本實施例提供的技術(shù)方案,通過確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置,并將目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息與當(dāng)前按鍵信息進(jìn)行比對,以確定當(dāng)前按鍵信息輸入是否正確的技術(shù)手段,實現(xiàn)了逐個驗證組合按鍵中按鍵信息的技術(shù)效果,減小了按鍵信息的比對量,提升了比對效率。
在上述實施例的基礎(chǔ)上,輸入比對模塊302包括:第一比對單元,用于將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對;按鍵信息確定單元,用于若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入正確,則將用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息;第一返回單元,用于返回執(zhí)行確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置的操作,直至當(dāng)前組合按鍵中按鍵信息全部輸入正確。
在上述實施例的基礎(chǔ)上,輸入比對模塊302包括:第二比對單元,用于將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行比對;刪除單元,用于若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入錯誤,則刪除已輸入的第一設(shè)定個數(shù)的按鍵信息,其中,第一設(shè)定個數(shù)至少為2;獲取單元,用于獲取用戶輸入的當(dāng)前按鍵信息;第二返回單元,用于返回執(zhí)行確定用戶輸入的當(dāng)前按鍵信息在當(dāng)前組合按鍵中的位置的操作,直至當(dāng)前組合按鍵中按鍵信息全部輸入正確。
在上述實施例的基礎(chǔ)上,刪除單元具體用于:若根據(jù)比對結(jié)果確定當(dāng)前按鍵信息輸入錯誤,則獲取用戶輸入的下一個按鍵信息作為當(dāng)前按鍵信息,直到獲取到第二設(shè)定個數(shù)的按鍵信息,刪除已輸入的第一設(shè)定個數(shù)的按鍵信息,其中,第二設(shè)定個數(shù)小于第一設(shè)定個數(shù)。
在上述實施例的基礎(chǔ)上,第一設(shè)定個數(shù)的按鍵信息為當(dāng)前輸入的全部按鍵信息或為當(dāng)前按鍵信息以及該位置與該位置的前N個位置之間的全部按鍵信息,其中,N至少為2。
在上述實施例的基礎(chǔ)上,當(dāng)前按鍵信息和目標(biāo)按鍵信息為二進(jìn)制數(shù)值。
相應(yīng)的,輸入比對模塊302具體用于:
將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行異或運算,并根據(jù)運算結(jié)果確定當(dāng)前按鍵信息輸入是否正確;或
將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行同或運算,并根據(jù)運算結(jié)果確定當(dāng)前按鍵信息輸入是否正確;或
將當(dāng)前按鍵信息與目標(biāo)組合按鍵中該位置對應(yīng)的目標(biāo)按鍵信息進(jìn)行減法運算,并根據(jù)運算結(jié)果確定當(dāng)前按鍵信息輸入是否正確。
本發(fā)明實施例提供的組合按鍵的驗證裝置適用于上述任意實施例提供的組合按鍵的驗證方法,具備相應(yīng)的功能和有益效果。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。