本發(fā)明實施例涉及安全技術領域,尤其涉及一種預驗證碼獲取的方法、裝置和終端。
背景技術:
隨著各類網(wǎng)絡安全事件的出現(xiàn),比如網(wǎng)絡賬號和密碼的泄露或被竊取,普通的采用驗證碼登陸賬號的方式,已經不一定是安全的無風險操作了。為了更好的保護用戶的隱私,越來越多的應用(application,簡稱app)開發(fā)商都會對應用的登錄或是敏感操作使用雙重認證保護機制,驗證碼(或者叫校驗碼)就是其中最常見的一種方式。其中,以短信(shortmessagingservice,簡稱sms)的形式接收的驗證碼(verificationcode),經常也被稱作短信驗證碼。
目前在安卓(android)系統(tǒng)中,應用通過申請讀取短信(textmessageorshortmessage,或叫短消息、簡訊)權限可以讀取系統(tǒng)中的所有短信,并從中獲取驗證碼。除了短信應用,其他絕大部分應用申請短信權限的主要功能都是為了讀取短信驗證碼。系統(tǒng)給應用讀取所有短信記錄的權限,當系統(tǒng)接收到一條短信后,會在系統(tǒng)中發(fā)送一個接收到短信的廣播,具有讀取短信權限的應用接收到廣播后,讀取短信內容,提取出短信中的驗證碼。
問題在于應用申請到的讀取短信的權限是讀取所有短信的權限,不僅可以讀取正常的驗證碼信息,還可以讀取用戶在正常使用短信應用時收發(fā)的信息,這容易造成用戶隱私的泄露。此外,短信驗證碼是屬于敏感的內容,現(xiàn)有技術中任何具有短信讀取權限的應用都可以讀取其他應用的短信驗證碼,這也會導致移動終端上的移動支付等業(yè)務面臨風險。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種驗證碼獲取方法、裝置和終端,能夠防止用戶短信信息泄露,保障短信中驗證碼信息的安全。
第一方面,提供了一種驗證碼獲取方法,該方法包括以下步驟:待獲取驗證碼的應用向服務器發(fā)送獲取驗證碼請求,其中,該待獲取驗證碼的應用安裝在終端上,該終端安裝的應用還包括輸入法應用和短信應用;該短信應用接收該服務器發(fā)送的包含驗證碼的短信;該輸入法應用讀取該短信中的驗證碼,其中,該終端不允許該輸入法應用和該短信應用以外的應用讀取該終端中的短信。因此,短信中的驗證碼,只有輸入法應用和短信應用能夠讀取,其他應用則不能讀取,能夠防止用戶短信中的信息泄露;在移動支付或驗證領域,也能夠減小移動支付或驗證面臨的風險,保障移動支付或驗證的安全。
結合第一方面,在第一方面第一種可能的實現(xiàn)方式中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域??梢允∪ビ脩粜枰扔浵买炞C碼再手動輸入驗證碼的麻煩,提升用戶體驗。
結合第一方面,在第一方面第二種可能的實現(xiàn)方式中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:將讀取到的該驗證碼顯示在該輸入法應用在該終端上的顯示區(qū)域。可以省去用戶打開短信應用查看驗證碼的麻煩。之后,用戶按照顯示在輸入法應用區(qū)域的驗證碼,將驗證碼填入驗證碼輸入框。這種先將驗證碼顯示在輸入法應用區(qū)域,用戶再手動輸入驗證碼的方案,相比于自動填入驗證碼的方案,可以保證驗證碼輸入的準確性。
在一種可能的實現(xiàn)方式中,基于用戶對輸入法應用在終端上的顯示區(qū)域上顯示的驗證碼的點擊操作,將該驗證碼填入驗證碼輸入?yún)^(qū)域。
結合第一方面,在第一方面第三種可能的實現(xiàn)方式中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。這種方案以更加直觀的方式提醒用戶待輸入的驗證碼。
在一種可能的實現(xiàn)方式中,將該字符串中的字符以動畫的形式在輸入法應用上逐個顯示。該動畫形式包括更改輸入法應用區(qū)域對應字符的大小、形狀、色彩、邊框、底紋等。
結合第一方面至第一方面第三種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第一方面第四種可能的實現(xiàn)方式中,該短信應用接收該服務器發(fā)送的包含驗證碼的短信具體為:在預設時間內,該短信應用接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;在該短信應用接收該服務器發(fā)送的包含驗證碼的短信之后,該方法還包括:確定在該預設時間內接收到的所有包含驗證碼的短信;確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;該輸入法應用讀取該短信中的驗證碼具體為:該輸入法應用讀取包含該應用標識的短信中的驗證碼。能夠解決用戶在一定時間內,收到多條驗證碼時,自動篩選符合條件的驗證碼,省去用戶手動篩選的麻煩。
結合第一方面第四種可能的實現(xiàn)方式,在第一方面第五種可能的實現(xiàn)方式中,確定該所有包含驗證碼的短信中包含應用標識的短信,具體為:若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;該輸入法應用讀取包含該應用標識的短信中的驗證碼,具體為:該輸入法應用讀取該接收時間最晚的短信中的驗證碼。能夠省去用戶手動選擇符合條件的驗證碼的麻煩。
第二方面,提供了一種獲取驗證碼的裝置,該裝置安裝的應用包括待獲取驗證碼的應用、輸入法應用和短信應用;該裝置還包括:發(fā)送單元,用于向服務器發(fā)送獲取驗證碼請求;接收單元,用于接收該服務器發(fā)送的包含驗證碼的短信;讀取單元,用于讀取該短信中的驗證碼,其中,該裝置不允許該輸入法應用和該短信應用以外的應用讀取該裝置中的短信。因此,短信中的驗證碼,只有輸入法應用和短信應用能夠讀取,其他應用則不能讀取,能夠防止用戶短信中的信息泄露;在移動支付或驗證領域,也能夠減小移動支付或驗證面臨的風險,保障移動支付或驗證的安全。
結合第二方面,在第二方面第一種可能的實現(xiàn)方式中,該裝置還包括填入單元,用于將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域??梢允∪ビ脩粜枰扔浵买炞C碼再手動輸入驗證碼的麻煩,提升用戶體驗。
結合第二方面,在第二方面第二種可能的實現(xiàn)方式中,該裝置還包括第一顯示單元,用于將讀取到的該驗證碼顯示在該輸入法應用在該裝置上的顯示區(qū)域??梢允∪ビ脩舸蜷_短信應用查看驗證碼的麻煩。之后,用戶按照顯示在輸入法應用區(qū)域的驗證碼,將驗證碼填入驗證碼輸入框。這種先將驗證碼顯示在輸入法應用區(qū)域,用戶再手動輸入驗證碼的方案,相比于自動填入驗證碼的方案,可以保證驗證碼輸入的準確性。
結合第二方面,在第二方面第三種可能的實現(xiàn)方式中,該裝置還包括第二顯示單元,用于根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。這種方案以更加直觀的方式提醒用戶待輸入的驗證碼。
在一種可能的實現(xiàn)方式中,將該字符串中的字符以動畫的形式在輸入法應用上逐個顯示。該動畫形式包括更改輸入法應用區(qū)域對應字符的大小、形狀、色彩、邊框、底紋等。
結合第二方面至第二方面第三種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第二方面第四種可能的實現(xiàn)方式中,該接收單元具體用于在預設時間內,接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;該裝置還包括:第一確定單元,用于確定在該預設時間內接收到的所有包含驗證碼的短信;第二確定單元,用于確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;該讀取單元,具體用于讀取包含該應用標識的短信中的驗證碼。能夠解決用戶在一定時間內,收到多條驗證碼時,自動篩選符合條件的驗證碼,省去用戶手動篩選的麻煩。
結合第二方面第四種可能的實現(xiàn)方式,在第二方面第五種可能的實現(xiàn)方式中,該第二確定單元,具體用于若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;該讀取單元,具體用于讀取該接收時間最晚的短信中的驗證碼。能夠省去用戶手動選擇符合條件的驗證碼的麻煩。
第三方面,提供了一種終端,包括處理器、存儲器和收發(fā)器;該存儲器用于存儲應用,該應用安裝在該終端上,該存儲器存儲的應用包括待獲取驗證碼的應用、輸入法應用和短信應用,該短信應用用于顯示該終端中的短信;該收發(fā)器用于向服務器發(fā)送獲取驗證碼請求;該收發(fā)器還用于接收該服務器發(fā)送的包含驗證碼的短信;該處理器用于讀取該短信中的驗證碼,其中,該終端不允許該輸入法應用和該短信應用以外的應用讀取該終端中的短信。因此,短信中的驗證碼,只有輸入法應用和短信應用能夠讀取,其他應用則不能讀取,能夠防止用戶短信中的信息泄露;在移動支付或驗證領域,也能夠減小移動支付或驗證面臨的風險,保障移動支付或驗證的安全。
結合第三方面,在第三方面第一種可能的實現(xiàn)方式中,該處理器還用于將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域??梢允∪ビ脩粜枰扔浵买炞C碼再手動輸入驗證碼的麻煩,提升用戶體驗。
結合第三方面,在第三方面第二種可能的實現(xiàn)方式中,該處理器還用于將讀取到的該驗證碼顯示在該輸入法應用在該終端上的顯示區(qū)域??梢允∪ビ脩舸蜷_短信應用查看驗證碼的麻煩。之后,用戶按照顯示在輸入法應用區(qū)域的驗證碼,將驗證碼填入驗證碼輸入框。這種先將驗證碼顯示在輸入法應用區(qū)域,用戶再手動輸入驗證碼的方案,相比于自動填入驗證碼的方案,可以保證驗證碼輸入的準確性。
結合第三方面,在第三方面第三種可能的實現(xiàn)方式中,該處理器還用于根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。這種方案以更加直觀的方式提醒用戶待輸入的驗證碼。
在一種可能的實現(xiàn)方式中,將該字符串中的字符以動畫的形式在輸入法應用上逐個顯示。該動畫形式包括更改輸入法應用區(qū)域對應字符的大小、形狀、色彩、邊框、底紋等。
結合第三方面至第三方面第三種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第三方面第四種可能的實現(xiàn)方式中,該收發(fā)器具體用于在預設時間內,接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;該處理器還用于確定在該預設時間內接收到的所有包含驗證碼的短信;確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;讀取包含該應用標識的短信中的驗證碼。能夠解決用戶在一定時間內,收到多條驗證碼時,自動篩選符合條件的驗證碼,省去用戶手動篩選的麻煩。
結合第三方面第四種可能的實現(xiàn)方式,在第三方面第五種可能的實現(xiàn)方式中,該處理器具體還用于若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;讀取該接收時間最晚的短信中的驗證碼。能夠省去用戶手動選擇符合條件的驗證碼的麻煩。
第四方面提供了一種存儲一個或多個程序的計算機可讀存儲介質,該一個或多個程序包括指令,該指令當被包括顯示器和多個應用的便攜式電子設備執(zhí)行時使該便攜式電子設備執(zhí)行根據(jù)第一方面至第一方面第五種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式中的方法,其中,該顯示器用于顯示該便攜式電子設備上運行的應用。
第五方面提供了驗證碼獲取方法,該方法包括:待獲取驗證碼的應用向服務器發(fā)送獲取驗證碼請求,其中,該待獲取驗證碼的應用運行在操作系統(tǒng)上;基于接收到的該服務器發(fā)送的包含驗證碼的短信,該操作系統(tǒng)讀取該短信中的驗證碼,并將讀取到的該驗證碼發(fā)送到該操作系統(tǒng)的剪切板上;該操作系統(tǒng)接收粘貼指令,將該剪切板上的驗證碼粘貼至驗證碼輸入?yún)^(qū)域。該方案無需考慮是否賦予其他應用程序讀取短信的權限,操作系統(tǒng)直接將驗證碼讀取到剪切板上,既可以方便用戶輸入驗證碼,也可以保障用戶短信隱私不被泄露。
第六方面提供了一種終端,包括處理器、存儲器和收發(fā)器。該存儲器用于存儲待獲取驗證碼的應用;該收發(fā)器用于向服務器發(fā)送獲取驗證碼請求;該收發(fā)器還用于接收該服務器發(fā)送的包含驗證碼的短信;該處理器用于讀取該短信中的驗證碼,并將讀取到的該驗證碼發(fā)送到該操作系統(tǒng)的剪切板上;該處理器還用于根據(jù)粘貼指令,將該剪切板上的驗證碼粘貼至驗證碼輸入?yún)^(qū)域。該方案無需考慮是否賦予其他應用程序讀取短信的權限,處理器直接將驗證碼讀取到剪切板上,既可以方便用戶輸入驗證碼,也可以保障用戶短信隱私不被泄露。
在一種可能的實現(xiàn)方式中,待獲取驗證碼的應用向服務器發(fā)送獲取驗證碼的請求之前,上述方法還包括:接收基于用戶觸發(fā)的獲取驗證碼操作。獲取驗證碼的操作由用戶觸發(fā),可以防止應用濫發(fā)驗證碼信息。
在一種可能的實現(xiàn)方式中,操作系統(tǒng)包括:android操作系統(tǒng)、ios操作系統(tǒng)和windowsphone操作系統(tǒng)。
在一種可能的實現(xiàn)方式中,輸入法應用和短信應用是終端上運行的操作系統(tǒng)的開發(fā)商開發(fā)的應用。在這種情況下,輸入法應用和短信應用是操作系統(tǒng)的默認應用,安全性相對于第三方應用更高。
在一種可能的實現(xiàn)方式中,輸入法應用和短信應用是第三方應用開發(fā)商開發(fā)的應用,其中該第三方應用開發(fā)商為終端上運行的操作系統(tǒng)的開發(fā)商之外的應用開發(fā)商。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1a是獲取驗證碼的方法示例圖;
圖1b是又一獲取驗證碼的方法示例圖;
圖1c是再一獲取驗證碼的方法示例圖;
圖2a是本發(fā)明實施例提供的顯示驗證碼的示例圖;
圖2b是本發(fā)明實施例提供的又一顯示驗證碼的示例圖;
圖3a是本發(fā)明實施例提供的再一顯示驗證碼的示例圖;
圖3b是本發(fā)明實施例提供的又一顯示驗證碼的示例圖;
圖3c是本發(fā)明實施例提供的再一顯示驗證碼的示例圖;
圖3d是本發(fā)明實施例提供的又一顯示驗證碼的示例圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
當本發(fā)明實施例提及“第一”、“第二”等序數(shù)詞時,除非根據(jù)上下文其確實表達順序之意,應當理解為僅僅是起區(qū)分之用。
目前終端上常用的操作系統(tǒng)包括:google開發(fā)的android操作系統(tǒng)、蘋果公司開發(fā)ios操作系統(tǒng)和微軟公司開發(fā)的windowsphone操作系統(tǒng)。
以安卓(android)系統(tǒng)為例,應用通過申請讀取短信權限可以讀取系統(tǒng)中的所有短信,并從中獲取驗證碼。除了短信應用,其他絕大部分應用申請短信權限的主要功能都是為了讀取短信驗證碼。如圖1a所示,用戶使用某應用購物,為了交易安全,提示用戶需要填寫校驗碼。用戶可以在終端接收到包含校驗碼的短信后,手動將將短信中的校驗碼填寫到圖1a中的“付款校驗碼”輸入框中;若該應用已申請讀取短信權限,那么該應用可以提取短信中的校驗碼,并自動將提取到的校驗碼填入圖1a中的“付款校驗碼”輸入框中。再如圖1b至圖1c所示,用戶登錄微信(wechat)時,為了用戶的賬戶安全,要求用戶輸入驗證碼。在用戶收到“騰訊科技”的驗證碼短信之后,用戶可以手動將短信中的驗證碼“240960”輸入到圖1c中的“填寫驗證碼”輸入框處;若微信已申請讀取短信權限,那么微信可以提取短信中的驗證碼,并自動將短信中的驗證碼“240960”填寫到圖1c中的“填寫驗證碼”輸入框中。
為了實現(xiàn)自動提取短信中的驗證碼,并自動將提取的驗證碼輸入到驗證碼輸入框中,應用(如微信)首先需要申請讀取系統(tǒng)中短信的權限。當系統(tǒng)接收到一條短信后,會在系統(tǒng)中發(fā)送一個接收到短信的廣播,微信接收到廣播后,讀取短信內容,并從中提取出驗證碼。但是,微信的讀取短信權限是讀取系統(tǒng)中所有短信的權限,不僅可以讀取微信需要的驗證碼短信,還可以讀取用戶在正常使用短信應用時收發(fā)的短信,此外,微信還可以讀取其他應用的短信驗證碼,這會導致移動終端上的移動支付等業(yè)務面臨風險,也容易造成用戶隱私的泄露。實施例一
實施例一提供了一種驗證碼獲取方法,該方法包括以下步驟:
101:待獲取驗證碼的應用向服務器發(fā)送獲取驗證碼請求,其中,該待獲取驗證碼的應用安裝在終端上,該終端安裝的應用還包括輸入法應用和短信應用。
該待獲取驗證碼的應用是終端上安裝的應用。比如,該應用可以是微信、支付寶(alipay)等。終端上運行的操作系統(tǒng)可以是android操作系統(tǒng)、ios操作系統(tǒng)和windowsphone操作系統(tǒng)。
終端上默認安裝的應用一般都包括輸入法應用和短信應用。在又一個實施例中,輸入法應用和短信應用是終端上運行的操作系統(tǒng)的開發(fā)商開發(fā)的應用。在另一個實施例中,輸入法應用和短信應用是第三方應用開發(fā)商開發(fā)的應用,其中該第三方應用開發(fā)商為終端上運行的操作系統(tǒng)的開發(fā)商之外的應用開發(fā)商。比如android的開發(fā)者為google,那么android原生系統(tǒng)默認的輸入法為google輸入法。google輸入法是android系統(tǒng)的開發(fā)商開發(fā)的應用。搜狗輸入法或swype輸入法是第三方應用開發(fā)商開發(fā)的應用。
相似的,android5.0默認短信應用為messenger,是google開發(fā)的短信應用;textra或gosms短信應用是第三方應用開發(fā)商開發(fā)的應用。在某些版本的android系統(tǒng)上,環(huán)聊(hangout)可以用來顯示終端上的短信,那么環(huán)聊也屬于短信應用。一般短信應用都可以用來管理并顯示終端上的短信。
再比如,googlemap相對于android系統(tǒng),是android系統(tǒng)開發(fā)商google開發(fā)的應用,叫做android原生應用;googlemap相對于蘋果公司的ios系統(tǒng),屬于第三方開發(fā)商開發(fā)的應用,googlemap不是ios原生的應用。
服務器是與待獲取驗證碼的應用對應的服務器。比如微信對應的服務器,可以是騰訊公司自己的服務器,也可以是租用的服務器,本發(fā)明對此不做限制。
102:該短信應用接收該服務器發(fā)送的包含驗證碼的短信。
短信應用可以接收和發(fā)送短信,具體可以通過收發(fā)器接收和發(fā)送短信。
這種短信可能的形式為:
短信例1:(2665)滴滴出行驗證碼【滴滴出行】
其中的“2665”就是滴滴出行app需要的驗證碼。
短信例2:驗證碼:236820,切勿轉發(fā)。12306用戶正在申請修改密碼服務。如非本人操作,請忽略本短信?!捐F路客服】
其中的“236820”就是鐵路12306app需要的驗證碼。
短信例3:【g.cn】yourgoogleverificationcodeis989345
其中的“989345”就是google服務需要的驗證碼。
103:該輸入法應用讀取該短信中的驗證碼,其中,該終端不允許該輸入法應用和該短信應用以外的應用讀取該終端中的短信。
為了保證用戶的信息安全,終端只允許輸入法應用和短信應用讀取短信。一個終端,絕大多數(shù)情況下都會有輸入法應用和短信應用。輸入法應用用于輸入信息,比如打字或手寫,或者語音輸入。短信應用用于顯示終端上的短信。無論是android系統(tǒng)、ios系統(tǒng)或windowsphone系統(tǒng),默認都安裝有輸入法應用和短信應用。
如果用戶安裝了第三方輸入法應用或第三方短信應用,并且信任該第三方輸入法應用或第三方短信應用,也可以允許第三方開發(fā)者開發(fā)的輸入法應用或短信應用讀取終端中的短信。比如,允許搜狗輸入法讀取終端中的短信。該允許應用讀取短信的權限,可以是系統(tǒng)默認賦予某個應用讀取短信權限,也可以是彈出提示,讓用戶選擇是否賦予某應用讀取短信的權限。比如,用戶安裝了第三方輸入法搜狗輸入法,搜狗輸入法請求讀取短信權限,系統(tǒng)彈出提示,讓用戶選擇是否賦予搜狗輸入法讀取短信權限?;蛘?,用戶安裝了第三方輸入法搜狗輸入法,不管搜狗輸入法是否申請讀取短信權限,系統(tǒng)檢測到用戶安裝了輸入法應用,均彈出提示,讓用戶選擇是否賦予新安裝的輸入法讀取短信權限。短信應用請求讀取短信權限的實現(xiàn)方式與之類似。
在一個實施例中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域。
圖1a中的“付款校驗碼”就是微信的驗證碼輸入?yún)^(qū)域。該輸入?yún)^(qū)域可以是一個輸入框。為了方便用戶,終端可以通過語義分析,直接提取短信中的驗證碼,并自動將提取到的驗證碼填入驗證碼輸入?yún)^(qū)域,可以省去用戶需要先記下驗證碼再手動輸入驗證碼的麻煩,提升用戶體驗。
在又一個實施例中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:將讀取到的該驗證碼顯示在該輸入法應用在該終端上的顯示區(qū)域。如圖2a或圖2b所示,輸入法為百度輸入法,待獲取驗證碼的應用為微信應用。微信向服務器發(fā)送獲取驗證碼的請求,之后終端接收服務器發(fā)送的包含驗證碼的短信,百度輸入法讀取短信中的驗證碼,并將驗證碼(2460)顯示在百度輸入法在終端的用戶界面(userinterface,簡稱ui)的顯示區(qū)域。如圖2a所示,驗證碼(2460)可以顯示在輸入法的顯示區(qū)域;如圖2b所示,也可以顯示在輸入法在ui界面的擴展區(qū)域。
用戶對驗證碼2460操作,基于用戶的操作,系統(tǒng)自動將2460填充到驗證碼輸入?yún)^(qū)域,即圖2a中所示的“填寫驗證碼”區(qū)域。用戶對顯示在輸入法區(qū)域的驗證碼進行操作的方式包括:單擊,雙擊,長按,重按,輕按,懸浮等。此外,這里的操作也可以用語音來替換,并不一定是直接點擊輸入法鍵盤上的按鍵,或是采用眼球追蹤來實現(xiàn),即用眼睛注視按鈕,終端檢測到用戶的眼球運動,自動將驗證碼填入驗證碼法輸入?yún)^(qū)域。在一個實施例中,在驗證碼的周邊彈出提示框“點擊填充驗證碼”或類似提示語句,方便用戶操作。
這樣可以省去用戶打開短信應用查看驗證碼的麻煩。之后,用戶按照顯示在輸入法應用區(qū)域的驗證碼,將驗證碼填入驗證碼輸入框。這種先將驗證碼顯示在輸入法應用區(qū)域,用戶再手動輸入驗證碼的方案,相比于自動填入驗證碼的方案,可以保證驗證碼輸入的準確性。
在又一個實施例中,該輸入法應用讀取該短信中的驗證碼之后,該方法還包括:
根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。
其中,參照短信例1至例3,該字符串可以是數(shù)字串,數(shù)字串的位數(shù)可以因應用的不同而不同。該字符串也可以是字母串,比如驗證碼可以是“nynb”,也可以是數(shù)字和字母混合的字符串,比如驗證碼可以是“594nb”。
在一個實施例中,將該字符串中的字符以動畫的形式在輸入法鍵盤上逐個顯示。該動畫形式包括更改輸入法鍵盤區(qū)域對應字符的大小、形狀、色彩、邊框、底紋等。
下面以驗證碼為數(shù)字串2460為例進行說明,如圖3a至圖3d所示:
該動畫形式可以為在輸入法鍵盤上,為與驗證碼對應的字符增加圓形邊框作為提示。如圖3a所示,驗證碼的第一個字符為數(shù)字2,則在輸入法鍵盤上數(shù)字2處,為數(shù)字2增加一個圓形邊框。其他幾個數(shù)字的動畫方式也類似。為了增加用戶體驗,還可以在數(shù)字2的周邊增加一個“字符順序提示符”。比如,數(shù)字2是驗證碼2460的第一個字符,則在更改鍵盤上數(shù)字2的形狀時,在數(shù)字2的周邊增加一個角標①,提示用戶這是需要輸入的驗證碼的第一個字符;用戶輸入完畢,數(shù)字2恢復原狀,角標①也不再顯示,如圖3b所示。
同樣的,如圖3b所示,驗證碼的第一個字符是數(shù)字4,那么數(shù)字2恢復原狀、角標①也不再顯示之后,為輸入法鍵盤上的數(shù)字4增加圓形框,并在數(shù)字4的周邊顯示提示角標②,提示提示用戶這是需要輸入的驗證碼的第二個字符。用戶輸入完畢,數(shù)字4恢復原狀,角標②也不再顯示,如圖3c所示。
對于驗證碼的第三個字符6和第四個字符0,其提示方式與上述方案類似。
這種提示驗證碼輸入的方式,更加直觀,增加用戶體驗。
在又一個實施例中,在預設時間內,該短信應用接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;確定在該預設時間內接收到的所有包含驗證碼的短信;確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;該輸入法應用讀取包含該應用標識的短信中的驗證碼。
以在手機上的鐵路12306app客戶端進行支付為例,在預設時間內,接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2,在該方法包括以下步驟:
201:確定在該預設時間內接收到的所有包含驗證碼的短信。
該預設時間可以是2分鐘,比如兩分鐘內,收到了兩條短信,一條是鐵路12306發(fā)送的,一條是google發(fā)送的。短信的內容如上述“短信例2”和“短信例3”。
202:確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用。
鐵路12306應用發(fā)送的包含驗證碼的短信,一般包括一個應用標識“【鐵路客服】”,該應用標識用于標識該短信是有鐵路12306的服務器發(fā)送的。“【鐵路客服】”者“鐵路客服”,均可以是鐵路12306應用的應用標識。應用標識也可以是一串字符,比如alipay、wechat。
203:該輸入法應用讀取包含該應用標識的短信中的驗證碼。
輸入法應用讀取短信例2中的驗證碼23680。
在又一個實施例中,若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;該輸入法應用讀取該接收時間最晚的短信中的驗證碼。
以在手機上的鐵路12306app客戶端進行支付為例,若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,該方法包括以下步驟:
301:同步驟201。
302:確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信,其中,該應用標識用于標識該待獲取驗證碼的應用。
比如兩分鐘內,收到了三條短信,一條是google發(fā)送的,短信內容為短信例3;一條是鐵路12306發(fā)送的,短信內容為短信例2,接收時間為“2015-10-0917:21:23”;一條鐵路12306發(fā)送的,短信內容為:
短信例4:驗證碼:223366,切勿轉發(fā)。12306用戶正在申請修改密碼服務。如非本人操作,請忽略本短信?!捐F路客服】
短信例4的接收時間為“2015-10-0917:22:42”。
那么短信例4的接收時間更晚,因此確定短信例4是鐵路12306app需要的驗證碼短信。
303:該輸入法應用讀取該接收時間最晚的短信中的驗證碼。
輸入法讀取短信例4中的驗證碼223366。
本發(fā)明實施例提供的驗證碼獲取方法,因為只賦予輸入法應用和短信應用讀取終端中短信的權限,可以防止用戶短信信息泄露,保障短信中驗證碼信息的安全。
實施例二
實施例二提供了一種驗證碼獲取方法,該方法包括以下步驟:
401:待獲取驗證碼的應用向服務器發(fā)送獲取驗證碼請求,其中,該待獲取驗證碼的應用運行在操作系統(tǒng)上。
該待獲取驗證碼的應用運行在操作系統(tǒng)上。比如,該應用可以是微信、支付寶(alipay)等。操作系統(tǒng)可以是android操作系統(tǒng)、ios操作系統(tǒng)和windowsphone操作系統(tǒng)。
402:基于接收到的所述服務器發(fā)送的包含驗證碼的短信,該操作系統(tǒng)讀取該短信中的驗證碼,并將讀取到的該驗證碼發(fā)送到該操作系統(tǒng)的剪切板上。
短信可能的形式同步驟102的描述。
以android系統(tǒng)為例,android系統(tǒng)的剪切板(clipboard)由類clipboardmanager管理。clipboardmanager代表了系統(tǒng)的剪貼板,通過getsystemservice(clipboard_service)獲取。調用方式為android.content.clipboardmanager(sinceapilevel11)。
ios系統(tǒng)也有剪切板。
403:所述操作系統(tǒng)接收粘貼指令,將該剪切板上的驗證碼粘貼至驗證碼輸入?yún)^(qū)域。
該粘貼指令可以是用戶點擊或長按輸入框觸發(fā)的粘貼指令,也可以是操作系統(tǒng)檢測到剪切板上有驗證碼,自動觸發(fā)粘貼指令。
通過這種方式,無需考慮是否賦予其他應用程序讀取短信的權限,操作系統(tǒng)直接將驗證碼讀取到剪切板上,既可以方便用戶輸入驗證碼,也可以保障用戶短信隱私不被泄露。
實施例三
實施例三提供了一種獲取驗證碼的裝置,該裝置用于執(zhí)行上述實施例一和實施例二描述的方法。
在其中一個實施例中,該獲取驗證碼裝置安裝的應用包括待獲取驗證碼的應用、輸入法應用和短信應用;該裝置還包括:
發(fā)送單元,用于向服務器發(fā)送獲取驗證碼請求;
接收單元,用于接收該服務器發(fā)送的包含驗證碼的短信;
讀取單元,用于讀取該短信中的驗證碼,其中,該裝置不允許該輸入法應用和該短信應用以外的應用讀取該裝置中的短信。
在又一實施例中,該裝置還包括填入單元,用于將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域。
在再一實施例中,該裝置還包括第一顯示單元,用于將讀取到的該驗證碼顯示在該輸入法應用在該裝置上的顯示區(qū)域。
在又一實施例中,該裝置還包括第二顯示單元,用于根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。
在再一實施例中,該接收單元具體用于在預設時間內,接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;
該裝置還包括:
第一確定單元,用于確定在該預設時間內接收到的所有包含驗證碼的短信;
第二確定單元,用于確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;
該讀取單元,具體用于讀取包含該應用標識的短信中的驗證碼。
在又一實施例中,該第二確定單元,具體用于若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;
該讀取單元,具體用于讀取該接收時間最晚的短信中的驗證碼。
通過本發(fā)明實施例提供的裝置,能夠防止用戶短信信息泄露,保障短信中驗證碼信息的安全。
實施例四
實施例四提供了一種終端,該終端用于執(zhí)行上述實施例一描述的方法。
在其中一個實施例中,該終端,包括處理器、存儲器和收發(fā)器;
該存儲器用于存儲應用,該應用安裝在該終端上,該存儲器存儲的應用包括待獲取驗證碼的應用、輸入法應用和短信應用,該短信應用用于顯示該終端中的短信;
該收發(fā)器用于向服務器發(fā)送獲取驗證碼請求;
該收發(fā)器還用于接收該服務器發(fā)送的包含驗證碼的短信;
該處理器用于讀取該短信中的驗證碼,其中,該終端不允許該輸入法應用和該短信應用以外的應用讀取該終端中的短信。
在又一實施例中,該處理器還用于將讀取到的該驗證碼填入驗證碼輸入?yún)^(qū)域。
在再一實施例中,該處理器還用于將讀取到的該驗證碼顯示在該輸入法應用在該終端上的顯示區(qū)域。
在又一實施例中,該處理器還用于根據(jù)讀取到的該驗證碼中包括的字符串的字符順序,將該字符串中的字符逐個顯示在該輸入法應用的鍵盤上。
在再一實施例中,該收發(fā)器具體用于在預設時間內,接收該服務器發(fā)送的包含驗證碼的短信的個數(shù)至少為2;
該處理器還用于確定在該預設時間內接收到的所有包含驗證碼的短信;確定該所有包含驗證碼的短信中包含應用標識的短信,其中,該應用標識用于標識該待獲取驗證碼的應用;讀取包含該應用標識的短信中的驗證碼。
在又一實施例中,該處理器具體還用于若確定該所有包含驗證碼的短信中包含應用標識的短信個數(shù)至少為2,確定包含應用標識的短信中接收時間最晚的短信;讀取該接收時間最晚的短信中的驗證碼。
通過本發(fā)明實施例提供的終端,能夠能夠防止用戶短信信息泄露,保障短信中驗證碼信息的安全。
本發(fā)明實施例還提供了一種終端,該終端用于執(zhí)行上述實施例二描述的方法。
該終端包括處理器、存儲器和收發(fā)器;
該存儲器用于存儲待獲取驗證碼的應用;
該收發(fā)器用于向服務器發(fā)送獲取驗證碼請求;
該收發(fā)器還用于接收該服務器發(fā)送的包含驗證碼的短信;
該處理器用于讀取該短信中的驗證碼,并將讀取到的該驗證碼發(fā)送到該操作系統(tǒng)的剪切板上;
該處理器還用于根據(jù)粘貼指令,將該剪切板上的驗證碼粘貼至驗證碼輸入?yún)^(qū)域。
本發(fā)明實施例提供的終端,該方案無需考慮是否賦予其他應用程序讀取短信的權限,處理器直接將驗證碼讀取到剪切板上,既可以方便用戶輸入驗證碼,也可以保障用戶短信隱私不被泄露。
實施例五
實施例五提供了一種存儲一個或多個程序的計算機可讀存儲介質,該一個或多個程序包括指令,該指令當被包括顯示器和多個應用的便攜式電子設備執(zhí)行時使該便攜式電子設備執(zhí)行根據(jù)上述實施例一和/或實施例二描述的方法,其中,該顯示器用于顯示該便攜式電子設備上運行的應用。
最后應說明的是:以上實施例僅用以示例性說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明及本發(fā)明帶來的有益效果進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明權利要求的范圍。