本申請涉及數據處理技術領域,尤其涉及一種信息輸入方法和裝置。
背景技術:
隨著移動通信技術的發(fā)展,用戶會經常需要在移動設備上進行信息輸入。特別是在手機上進行信息輸入時,受限于手機的尺寸,物理鍵盤或者虛擬鍵盤都比較小,用戶很容易輸錯信息,比如,本來輸入字母a但實際輸入的是字母a附近的字母比如s。
技術實現要素:
本申請旨在至少在一定程度上解決相關技術中的技術問題之一。
為此,本申請的一個目的在于提出一種信息輸入方法,該方法可以降低因鍵盤小造成的輸入錯誤,提高輸入效果。
本申請的另一個目的在于提出一種信息輸入裝置。
為達到上述目的,本申請第一方面實施例提出的信息輸入方法,包括:獲取預先保存的信息,所述預先保存的信息包括:明文的第一信息,或者,加密后的第一信息,所述第一信息包括:設置的信息,以及,根據所述設置的信息生成的關聯信息;接收待驗證的信息;根據所述預先保存的信息,對所述待驗證的信息進行驗證;如果所述待驗證的信息屬于所述關聯信息,接收再次輸入的待驗證的信息。
本申請第一方面實施例提出的信息輸入方法,不僅可以生成設置的信息,還生成根據設置的信息得到的關聯信息,并在待驗證的信息屬于關聯的信息時,接收再次輸入的待驗證的信息,可以在用戶因為鍵盤小等原因造成的輸入錯誤后有再次驗證的機會,降低因鍵盤小造成的輸入錯誤,提高輸入效果。
為達到上述目的,本申請第二方面實施例提出的信息輸入裝置,包括:獲取模塊,用于獲取預先保存的信息,所述預先保存的信息包括:明文的第一信息,或者,加密后的第一信息,所述第一信息包括:設置的信息,以及,根據所述設置的信息生成的關聯信息;第一接收模塊,用于接收待驗證的信息;驗證模塊,用于根據所述預先保存的信息,對所述待驗證的信息進行驗證;第二接收模塊,用于如果所述待驗證的信息屬于所述關聯信息, 接收再次輸入的待驗證的信息。
本申請第二方面實施例提出的信息輸入裝置,不僅可以生成設置的信息,還生成根據設置的信息得到的關聯信息,并在待驗證的信息屬于關聯的信息時,接收再次輸入的待驗證的信息,可以在用戶因為鍵盤小等原因造成的輸入錯誤后有再次驗證的機會,降低因鍵盤小造成的輸入錯誤,提高輸入效果。
本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
附圖說明
本申請上述的和/或附加的方面和優(yōu)點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一實施例提出的信息輸入方法的流程示意圖;
圖2是本申請另一實施例提出的信息輸入方法的流程示意圖;
圖3是本申請另一實施例提出的信息輸入方法的流程示意圖;
圖4是本申請另一實施例提出的信息輸入方法的流程示意圖;
圖5是本申請另一實施例提出的信息輸入裝置的結構示意圖;
圖6是本申請另一實施例提出的信息輸入裝置的結構示意圖。
具體實施方式
下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的模塊或具有相同或類似功能的模塊。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實施例包括落入所附加權利要求書的精神和內涵范圍內的所有變化、修改和等同物。
圖1是本申請一實施例提出的信息輸入方法的流程示意圖,該方法包括:
S11:獲取預先保存的信息,所述預先保存的信息包括:明文的第一信息,或者,加密后的第一信息,所述第一信息包括:設置的信息,以及,根據所述設置的信息生成的關聯信息。
采用本實施例的方法可以用于多種場景的信息驗證,例如,用于密碼驗證,身份證號驗證,銀行卡號驗證,手機號驗證等,本實施例中,以密碼驗證為例。
在密碼驗證之前,用戶可以預先設置密碼,例如設置的密碼是x??梢岳斫獾氖?,用戶設置的密碼x可以包括一個或多個信息項,每個信息項可以是數字或者字母等。
進一步的,以密碼保存在手機端為例,密碼在手機端保存時可以明文保存,例如直接 保存為x。或者,為了提高安全性,對明文的密碼進行加密后保存,例如,手機端保存的是加密后的x??梢岳斫獾氖牵用芩惴ㄓ卸喾N,例如具體為哈希算法。本實施例中,以手機端保存哈希加密后的密碼為例。假設x進行哈希加密后表示為H(x)。
現有技術中,預先保存的信息至多是H(x),當用戶輸入的不是x就會出現驗證失敗。
而本實施例中,不僅可以保存H(x),還可以根據x得到關聯信息,在手機端還保存對關聯信息進行哈希加密后的信息。
具體的,參見圖2,本實施例的方法還可以包括:
S10:根據所述設置的信息生成關聯信息。
可選的,所述根據所述設置的信息生成關聯信息,包括:
在所述設置的信息中任意選擇一個信息項,獲取與選擇的信息項對應的新的信息項,其中,所述新的信息項與所述選擇的信息項在鍵盤上的位置距離處于預設范圍內;
用所述新的信息項替代所述設置的信息中的所述選擇的信息項,得到所述關聯信息。
例如,用戶設置的密碼x中的一項是a,則對應a,可以選擇與a在虛擬鍵盤或者物理鍵盤上距離較近的一個字符作為新的字符,假設新的字符用a’表示,則用a’替代a組成新的密碼x’,新的密碼x’是x的關聯信息,采用哈希加密后,加密后的關聯信息可以表示為:H(x’),H(x”),…,記該序列為H’。具體如,假設x是abcd,距離a較近的字符包括a’,則x的關聯信息包括a’bcd,又假設距離a較近的字符還包括a”,則x的關聯信息還包括:a”bcd,又假設距離b較近的字符包括b’,則x的關聯信息還包括:ab’cd,依次類推,可以得到所有的關聯信息。
可以理解的是,上述的距離較近的具體含義可以根據實際需要設置,例如,可以將四周相鄰的按鍵對應的字符確定為距離較近的字符,或者,將相距兩個按鍵之內的字符都確定為距離較近的字符等。
S12:接收待驗證的信息。
其中,用戶可以通過鍵盤的鍵盤輸入待驗證的信息。
例如,用戶使用手機的虛擬鍵盤輸入密碼等。
S13:根據所述預先保存的信息,對所述待驗證的信息進行驗證。
當手機端直接保存明文的密碼時,可以直接比對輸入的信息以及預先保存的信息,當兩者相同時,通過驗證,否則未通過驗證。
本實施例以保存加密后的第一信息為例。
當所述預先保存的信息是加密后的第一信息時,所述根據所述預先保存的信息,對所述待驗證的信息進行驗證,包括:
采用與所述第一信息相同的加密算法,對所述待驗證的信息進行加密,得到加密后的 待驗證的信息;
比較所述加密后的待驗證的信息以及預先保存的信息。
假設用戶輸入的待驗證的信息是y,假設采用哈希加密算法,則可以先計算H(y),在將H(y)與H(x)以及H’比較。
S14:如果所述待驗證的信息屬于所述關聯信息,接收再次輸入的待驗證的信息。
例如,如果H(y)屬于H’,則可以接收再次輸入的待驗證的信息。之后可以進行再次驗證。
參見圖3,本實施例在待驗證的信息屬于關聯信息時,可以具體執(zhí)行:
S141:接收再次輸入的待驗證的信息,并進行引導或者給出明顯提示。
具體的,進行引導或者給出明顯提示,可以包括:
在接收再次輸入的待驗證的信息之前,向用戶展示提示信息,所述提示信息用于提示用戶注意鍵盤按鍵;或者,
在接收再次輸入的待驗證的信息之后,延長再次輸入的待驗證的信息的明文顯示時間;或者,
在接收再次輸入的待驗證的信息之后,直接以明文形式顯示再次輸入的待驗證的信息。
例如,當用戶輸入的y屬于關聯信息時,那很可能就是因為按鍵較小用戶無意輸入錯誤,此時,可以提醒用戶注意鍵盤,避免因鍵盤小輸入錯誤?;蛘?,
通常在密碼驗證時最終顯示的都是非明文的信息,例如顯示*符號,在顯示*之前會短暫顯示明文的用戶輸入的信息。
本實施例中,在延長明文顯示時間時,可以延長待驗證信息中各項信息的明文顯示時間,或者,也可以只延長上次輸入錯誤的信息項的明文顯示時間。例如,若待驗證信息是abcd,如果第一次檢測a出現錯誤,則可以只延長a的明文顯示時間,或者,a,b,c,d的明文顯示時間都可以延長。另外,在明文顯示時也可以類似執(zhí)行,如只明文顯示上次輸入錯誤的信息項,或者,明文顯示所有信息項。
之后還可以執(zhí)行:
S142:進行再次驗證。
例如,用戶根據提示信息,或者明文顯示的信息,可以檢查再次輸入的待驗證信息,當手機端接收到用戶再次輸入的待驗證信息后,可以與預先保存的信息進行比對,得到驗證結果。
本實施例中,可以延長顯示明文的輸入信息的時間,以便用戶可以更好的看到自己輸入的信息,以驗證是否輸入正確,具體的延長時間可以設置?;蛘撸苯泳褪且悦魑男问斤@示,方便用戶檢查。
另一方面,參見圖4,在用戶對輸入的待驗證的信息進行驗證之后,該方法還可以包括:
S15:如果所述待驗證的信息與所述設置的信息相同,則確定通過驗證。
例如,在保存的是哈希加密后的值時,用戶輸入的待驗證的信息是y,則對y進行哈希運算,得到H(y),如果H(y)與H(x)相同,則通過驗證。
S16:如果所述待驗證的信息與所述設置的信息不同,且不屬于所述關聯信息,則確定不通過驗證。
例如,H(y)與H(x)不同,且H(y)不屬于H’,則確定不通過驗證,此時,向用戶展示密碼輸入錯誤的信息。
本實施例中,不僅可以生成設置的信息,還生成根據設置的信息得到的關聯信息,并在待驗證的信息屬于關聯的信息時,再次進行驗證,可以在用戶因為鍵盤小等原因造成的輸入錯誤后有再次驗證的機會,降低因鍵盤小造成的輸入錯誤,提高輸入效果。有別于惡意輸入錯誤直接驗證失敗,從而可以有效區(qū)分無意錯誤與惡意錯誤,降低由于無意輸入錯誤造成的信息驗證失敗。
圖5是本申請另一實施例提出的信息輸入裝置的結構示意圖,該裝置50包括:獲取模塊51,第一接收模塊52,驗證模塊53和第二接收模塊54。
獲取模塊51,用于獲取預先保存的信息,所述預先保存的信息包括:明文的第一信息,或者,加密后的第一信息,所述第一信息包括:設置的信息,以及,根據所述設置的信息生成的關聯信息;
采用本實施例的方法可以用于多種場景的信息驗證,例如,用于密碼驗證,身份證號驗證,銀行卡號驗證,手機號驗證等,本實施例中,以密碼驗證為例。
在密碼驗證之前,用戶可以預先設置密碼,例如設置的密碼是x??梢岳斫獾氖牵脩粼O置的密碼x可以包括一個或多個信息項,每個信息項可以是數字或者字母等。
進一步的,以密碼保存在手機端為例,密碼在手機端保存時可以明文保存,例如直接保存為x?;蛘?,為了提高安全性,對明文的密碼進行加密后保存,例如,手機端保存的是加密后的x??梢岳斫獾氖?,加密算法有多種,例如具體為哈希算法。本實施例中,以手機端保存哈希加密后的密碼為例。假設x進行哈希加密后表示為H(x)。
現有技術中,預先保存的信息至多是H(x),當用戶輸入的不是x就會出現驗證失敗。
而本實施例中,不僅可以保存H(x),還可以根據x得到關聯信息,在手機端還保存對關聯信息進行哈希加密后的信息。
參見圖6,該裝置50還包括:
設置模塊55,用于在所述設置的信息中任意選擇一個信息項,獲取與選擇的信息項對 應的新的信息項,其中,所述新的信息項與所述選擇的信息項在鍵盤上的位置距離處于預設范圍內;用所述新的信息項替代所述設置的信息中的所述選擇的信息項,得到所述關聯信息。
例如,用戶設置的密碼x中的一項是a,則對應a,可以選擇與a在虛擬鍵盤或者物理鍵盤上距離較近的一個字符作為新的字符,假設新的字符用a’表示,則用a’替代a組成新的密碼x’,新的密碼x’是x的關聯信息,采用哈希加密后,加密后的關聯信息可以表示為:H(x’),H(x”),…,記該序列為H’。具體如,假設x是abcd,距離a較近的字符包括a’,則x的關聯信息包括a’bcd,又假設距離a較近的字符還包括a”,則x的關聯信息還包括:a”bcd,又假設距離b較近的字符包括b’,則x的關聯信息還包括:ab’cd,依次類推,可以得到所有的關聯信息。
可以理解的是,上述的距離較近的具體含義可以根據實際需要設置,例如,可以將四周相鄰的按鍵對應的字符確定為距離較近的字符,或者,將相距兩個按鍵之內的字符都確定為距離較近的字符等。
第一接收模塊52,用于接收待驗證的信息;
其中,用戶可以通過鍵盤的鍵盤輸入待驗證的信息。
例如,用戶使用手機的虛擬鍵盤輸入密碼等。
驗證模塊53,用于根據所述預先保存的信息,對所述待驗證的信息進行驗證;
當手機端直接保存明文的密碼時,可以直接比對輸入的信息以及預先保存的信息,當兩者相同時,通過驗證,否則未通過驗證。
本實施例以保存加密后的第一信息為例。
當所述預先保存的信息是加密后的第一信息時,所述驗證模塊53具體用于:
采用與所述第一信息相同的加密算法,對所述待驗證的信息進行加密,得到加密后的待驗證的信息;
比較所述加密后的待驗證的信息以及預先保存的信息。
假設用戶輸入的待驗證的信息是y,假設采用哈希加密算法,則可以先計算H(y),在將H(y)與H(x)以及H’比較。
第二接收模塊54,用于如果所述待驗證的信息屬于所述關聯信息,接收再次輸入的待驗證的信息。
例如,如果H(y)屬于H’,則可以接收再次輸入的待驗證的信息。之后可以進行再次驗證。
可選的,所述第二接收模塊還用于:
在接收再次輸入的待驗證的信息之前,向用戶展示提示信息,所述提示信息用于提示 用戶注意鍵盤按鍵;或者,
在接收再次輸入的待驗證的信息之后,延長再次輸入的待驗證的信息的明文顯示時間;或者,
在接收再次輸入的待驗證的信息之后,直接以明文形式顯示再次輸入的待驗證的信息。
例如,當用戶輸入的y屬于關聯信息時,那很可能就是因為按鍵較小用戶無意輸入錯誤,此時,可以提醒用戶注意鍵盤,避免因鍵盤小輸入錯誤。或者,
通常在密碼驗證時最終顯示的都是非明文的信息,例如顯示*符號,在顯示*之前會短暫顯示明文的用戶輸入的信息。
本實施例中,在延長明文顯示時間時,可以延長待驗證信息中各項信息的明文顯示時間,或者,也可以只延長上次輸入錯誤的信息項的明文顯示時間。例如,若待驗證信息是abcd,如果第一次檢測a出現錯誤,則可以只延長a的明文顯示時間,或者,a,b,c,d的明文顯示時間都可以延長。另外,在明文顯示時也可以類似執(zhí)行,如只明文顯示上次輸入錯誤的信息項,或者,明文顯示所有信息項。
本實施例中,可以延長顯示明文的輸入信息的時間,以便用戶可以更好的看到自己輸入的信息,以驗證是否輸入正確,具體的延長時間可以設置。或者,直接就是以明文形式顯示,方便用戶檢查。
參見圖6,該裝置50還包括:
確定模塊56,用于如果所述待驗證的信息與所述設置的信息相同,則確定通過驗證;或者,如果所述待驗證的信息與所述設置的信息不同,且不屬于所述關聯信息,則確定不通過驗證。
例如,在保存的是哈希加密后的值時,用戶輸入的待驗證的信息是y,則對y進行哈希運算,得到H(y),如果H(y)與H(x)相同,則通過驗證。
例如,H(y)與H(x)不同,且H(y)不屬于H’,則確定不通過驗證,此時,向用戶展示密碼輸入錯誤的信息。
本實施例中,不僅可以生成設置的信息,還生成根據設置的信息得到的關聯信息,并在待驗證的信息屬于關聯的信息時,再次進行驗證,可以在用戶因為鍵盤小等原因造成的輸入錯誤后有再次驗證的機會,降低因鍵盤小造成的輸入錯誤,提高輸入效果。有別于惡意輸入錯誤直接驗證失敗,從而可以有效區(qū)分無意錯誤與惡意錯誤,降低由于無意輸入錯誤造成的信息驗證失敗。
需要說明的是,在本申請的描述中,術語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本申請的描述中,除非另有說明,“多個”的含義是指至少兩個。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本申請的實施例所屬技術領域的技術人員所理解。
應當理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統執(zhí)行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。
本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本申請各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
盡管上面已經示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領域的普通技術人員在本申請的范圍內可以對上述實施例進行變化、修改、替換和變型。