一、概要
基於 js+css,採用服務端控制客戶端輸入邏輯的 web 版安全輸入
元件,採用這種機制,可大幅度提高手機、平板系統瀏覽器中輸入密碼的安全性。
元件特點:
1、使用者輸入的密碼資訊在客戶端中不會有任何殘留,可有效防止惡意程式通過接
口,記憶體檢視等方式獲取使用者密碼;
2、採用 rsa 加密演算法對輸入內容進行加密,避免惡意程式對通訊鏈路中的資料
進行攔截分析;
3、可自適應現有主流螢幕解析度。
二、實現流程
1、頁面初始化,請求服務端根據規則生成相應的html(密碼控制項)並返回給前端
2、 使用者使用返回的html(密碼控制項),輸入相應的密碼
3、 前端將輸入的密碼通過js rsa演算法加密並提交到服務端
4、 服務端根據規則解密後並進行業務邏輯的後續處理
三、實現細節
1、密碼鍵盤分為數字鍵盤、
字母鍵盤(含大小寫)和全鍵盤
2、 如果是數字鍵盤:生成隨機安全隨機數
0 ~ 9,根據 securerandom.
nextint
()方法
3、 如果是字母鍵盤:生成隨機26個英文本母,根據
chars
(97 + i)
4、 如果是全鍵盤:則是2 、3點的組合
5、 建立乙個
numberpasswordimagemaker類,用於將數字按照設定的規則轉換成
imageinfo 類
6、 建立乙個
alphabetpasswordimagemaker類,用於將字母(含大小寫)按照設定的規則轉換成 imageinfo 類
7、 建立乙個
htmlmaker類,用於將生成的轉換成div
8、 將div中對應的
keyidnex儲存在
中,用於後續比較
9、 將生成的div通過約定的方式返回給前端
移動web 終端互動優化
移動web頁面上的click事件相應都要慢上300ms 1.tap基礎事件 300ms延遲怎麼破?使用tap事件代替click事件 自定義 tap事件原理 在touchstart touchend時記錄時間 手指位置,在touchend時進行比較,如果手指位置為同一位置 或允許移動乙個非常小的位移值...
WEB密碼安全輸入控制項
在沒有使用ssl加密的系統中登入,登入的使用者名稱和密碼都是在網路中通過明文傳送,安全性較低,可以使用外掛程式形式對密碼進行加密後再傳送。為了保證每次加密的結果的不同 防止跨域提交或擷取加密資訊偽提交 每次加密的key的一部分由伺服器端隨機生成,在頁面載入的時候由伺服器端生成通過頁面js指令碼傳遞給...
移動WEB 仿手機原生相簿 Vue版
由於大小限制,畫質和幀數較差,那些看起來比較可愛,也就沒有計較比例問題 整體flex布局,結合vue和移動touch事件實現,具體細節 上有注釋,想學習的朋友可以看一看.下面主要貼上主要邏輯 具體實現參見 class classobject style styleobject id gallery ...