一種移動終端跨平臺的安全鍵盤實現方法與流程
2023-12-12 13:45:47 1
本發明涉及移動終端與網際網路技術領域,具體涉及一種移動終端跨平臺的安全鍵盤實現方法。
背景技術:
隨著行動支付的快速普及,如何保障用戶信息安全這個問題變得越來越重要。在支付、金融、個人信息敏感的系統中,用戶的重要個人信息,如支付密碼、身份證號等需要優先考慮進行安全保護。
而系統默認的鍵盤輸入,可被惡意軟體記錄並推算出用戶的輸入值,從而使敏感信息洩露,造成重大損失。因此,在輸入敏感信息時放棄第三方輸入法,實現自定義的輸入鍵盤,就可以避開很多安全隱患。
安全鍵盤有自繪固定鍵盤和自繪隨機鍵盤兩種,單純從鍵盤的安全性來分析,自繪隨機鍵盤同自繪固定鍵盤的安全級別都是比較高的,相比之下,自繪隨機鍵盤更安全一些。自繪固定鍵盤可以避免被第三方輸入法監聽的風險,但對鍵盤記錄的防禦能力依然有限。因為即便黑客無法對輸入法進行監聽,也能夠通過其他方式從後臺監控到鍵盤位置的輸入記錄,如果密碼位置是固定的,那麼在輸入過後,黑客便能夠通過監控到的位置反饋數據猜到你的密碼。
而之所以說自繪隨機鍵盤的安全性更高,是因為在用戶輸入帳號密碼時會生成隨機鍵盤,使每次輸入時點擊的位置都不同。如此一來,就算黑客能夠監控到鍵盤記錄,但也會因隨機鍵盤的緣故難以猜測出用戶輸入的內容,其安全性自然也大大提升。
技術實現要素:
本發明所要解決的技術問題是:提出一種移動終端跨平臺的安全鍵盤實現方法,支持跨平臺實現安全鍵盤,同時支持固定鍵盤和隨機鍵盤兩種形式,靈活性強。
本發明解決其技術問題所採用的技術方案是:一種移動終端跨平臺的安全鍵盤實現方法,包括以下步驟:
A、在native端繪製安全鍵盤布局並實現鍵盤基本功能;
B、native端封裝供javascript端調用native安全鍵盤的方法接口kb1;
C、將步驟A和B中的native端功能和接口封裝成SDK,供應用工程使用;
D、javascript端封裝調用native端SDK中安全鍵盤的接口函數kb2,用於啟動native端的安全鍵盤;
E、Html頁面生成一個輸入框,綁定輸入框id選擇器的click事件,在事件中調用步驟D中定義好的接口函數kb2;
F、javascript端封裝native端回調javascript的方法kbCallback。
作為進一步優化,步驟A具體包括:Android系統用android native對應的方法實現安全鍵盤的布局和功能,並提供供javascript調用的接口;IOS系統用IOS native對應的方法實現安全鍵盤的布局和功能,並提供供javascript調用的接口;Android和IOS對javascript提供的調用接口,參數保持一致。
作為進一步優化,步驟A中,所述鍵盤基本功能包括:顯示、關閉、切換。
作為進一步優化,步驟A中,native端實現的安全鍵盤包括數字鍵盤、字母鍵盤和符號鍵盤,字母鍵盤和數字鍵盤均支持隨機序列和固定序列兩種模式,三種鍵盤可以根據輸入需求自由切換。
作為進一步優化,步驟B中,javascript端通過調用接口kb1來開啟native繪製的安全鍵盤控制項,封裝的接口方法參數包括Html頁面輸入框的id、鍵盤是否隨機序列的標識isRandom、以及唯一回調標識callbackIdentify。
作為進一步優化,步驟B具體包括:
B1、在方法接口中調用native安全鍵盤的實現方法,使鍵盤控制項顯示在移動端屏幕底部;
其中,native安全鍵盤顯示時,根據javascript傳入的鍵盤是否隨機序列的標識isRandom來相應的選擇是顯示隨機鍵盤還是固定鍵盤;
B2、在方法接口中封裝native回調javascript的信息,並在鍵盤顯示後,對鍵盤操作時,實時將操作信息通過回調傳給javascript處理;
所述回調javascript的信息包括native安全鍵盤的輸入結果result、javascript傳入的Html頁面輸入框的id、調用native安全鍵盤是否成功的標識isSuccess,
以及唯一回調標識callbackIdentify。
作為進一步優化,步驟D具體包括:
D1、根據回調callback生成唯一回調標識callbackIdentify;
D2、將回調標識callbackIdentify和回調callback組成鍵值對寫入Map中;
D3、調用native端封裝好的接口kb1,其中,傳入參數包括Html頁面輸入框的id、鍵盤是否隨機序列的標識isRandom以及唯一回調標識callbackIdentify。
作為進一步優化,步驟E中,在調用kb2時,傳入三個參數,依次為:輸入框的id、鍵盤是否隨機序列顯示的標識isRandom、以及調用結果回調callback,callback用於在步驟F中將調用成功或失敗信息傳回。
作為進一步優化,步驟F中,所述方法kbCallback用於當native端鍵盤有操作時供native調用,native將相應的安全鍵盤操作結果封裝成JSON字符串通過kbCallback返回給javascript。
作為進一步優化,步驟F具體包括:
F1、解析JSON字符串中的調用是否成功標識isSuccess,isSuccess若為true,則進一步解析JSON字符串中的輸入框id和輸入結果result兩個欄位,並找到id對應的輸入框,將輸入結果result寫入輸入框中顯示,同時執行子步驟F2;isSuccess若為false,則執行子步驟F2;
F2、解析JSON字符串中的唯一回調標識callbackIdentify,並根據callbackIdentify在Map中取出鍵值對中的callback,通過callback將成功或失敗信息反饋給輸入框的click事件中。
本發明的有益效果是:跨平臺實現安全鍵盤,適用於混合型APP中對關鍵信息輸入保密要求比較高的場合,代碼復用率高;同時,安全鍵盤支持固定鍵盤和隨機鍵盤兩種形式,用戶可以根據具體業務需要選擇是否鍵盤是否隨機,確保了安全性的同時,又增加了靈活性。
具體實施方式
本發明旨在提供一種移動端跨平臺的安全鍵盤實現方法,在native端實現安全鍵盤布局和打開、關閉、切換等基本功能;javascript實現一套異步回調機制,處理native安全鍵盤和HTML頁面中輸入框元素的交互操作,在指定輸入框的click事件中通過js調用native實現的安全鍵盤,並通過js回調將安全鍵盤的輸入結果反饋並顯示在HTML頁面的輸入框中。
實施例:
本實施例中的移動端跨平臺的安全鍵盤實現方法包括以下步驟:
步驟一、在native端繪製安全鍵盤布局並實現鍵盤顯示、關閉、切換等基本功能:
其中,Android系統用android native對應的方法實現安全鍵盤的布局和功能,並提供供javascript調用的接口;IOS系統用IOS native對應的方法實現安全鍵盤的布局和功能,並提供供javascript調用的接口。Android和IOS對javascript提供的調用接口,參數保持一致。
相應的,native端實現的安全鍵盤包括數字鍵盤、字母鍵盤和符號鍵盤,字母鍵盤和數字鍵盤均支持隨機序列和固定序列兩種模式,三種鍵盤可以根據輸入需求自由切換。
步驟二、native端封裝供javascript調用native安全鍵盤的方法接口kb1:
其中,javascript端通過調用此接口來開啟native繪製的安全鍵盤控制項。封裝的接口方法參數包括Html頁面輸入框的id、鍵盤是否隨機序列的標識isRandom、以及唯一回調標識callbackIdentify。
在步驟二中,其子流程包括:
a1、在方法接口中調用native安全鍵盤的實現方法,使鍵盤控制項顯示在移動端屏幕底部;
其中,native安全鍵盤顯示時,根據javascript傳入的鍵盤是否隨機序列的標識isRandom來相應的選擇是顯示隨機鍵盤還是固定鍵盤。
a2、在方法接口中封裝native回調javascript的信息,並在鍵盤顯示後,對鍵盤操作時實施將操作信息通過回調傳給javascript處理。
此信息包括native安全鍵盤的輸入結果result、javascript傳入的Html頁面輸入框的id、調用native安全鍵盤是否成功的標識isSuccess以及唯一回調標識callbackIdentify。
步驟三、將步驟一和步驟二中的native端功能和接口封裝成SDK,供應用工程使用。
步驟四、javascript端封裝調用native端SDK中安全鍵盤的接口函數kb2,用於啟動native端的安全鍵盤。
在步驟四中,其子流程包括:
a1、根據回調callback生成唯一回調標識callbackIdentify;
a2、將回調標識callbackIdentify和回調callback組成鍵值對(callbackIdentify,callback)寫入Map中;
a3、調用native端封裝好的接口kb1,其中,傳入參數包括Html頁面輸入框的id、鍵盤是否隨機序列的標識isRandom以及唯一回調標識callbackIdentify。
步驟五、Html頁面生成一個輸入框,綁定輸入框id選擇器的click事件,在事件中調用步驟四中定義好的接口函數kb2。
其中,在調用kb2時,傳入三個參數,依次為:輸入框的id、鍵盤是否隨機序列顯示的標識isRandom、以及調用結果回調callback,callback用於在下述步驟六中將調用成功或失敗信息傳回。
步驟六、javascript端封裝native端回調javascript的方法kbCallback。
其中,該方法用於當native端鍵盤有操作時供native調用,native將相應的安全鍵盤操作結果封裝成JSON字符串通過kbCallback返回給javascript。
在步驟六中,其子流程包括:
a1、解析JSON字符串中的調用是否成功標識isSuccess,isSuccess若為true,則進一步解析JSON字符串中的輸入框id和輸入結果result兩個欄位,並找到id對應的輸入框,將輸入結果result寫入輸入框中顯示,同時執行子步驟a2;isSuccess若為false,則執行子步驟a2;
a2、解析JSON字符串中的唯一回調標識callbackIdentify,並根據callbackIdentify在Map中取出步驟四子步驟a2中存入的(callbackIdentify,callback)鍵值對中的callback,通過callback將子步驟a1中的成功或失敗信息反饋給步驟四中輸入框的click事件中;
如此,便完成了Html頁面通過通過javascript調用native實現的安全鍵盤的整個流程。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。