數據通信方法和系統及客戶端和服務器的制造方法
【技術領域】
[0001]本申請涉及數據通信領域,特別涉及一種數據通信方法與系統及客戶端和服務器。
【背景技術】
[0002]現實生活中,很多場合均需要采用密碼驗證的方式確認用戶的身份。具體的,舉例為:用戶登陸網站、在商場消費、在銀行或ATM取款機取款等。用戶會首先在網站進行注冊,或者到一家銀行進行開戶。在注冊或者開戶時,用戶會設置用戶名和密碼,用于后續確認身份。在完成注冊或開戶之后,用戶便可以利用用戶名和密碼登陸網站,利用網絡銀行進行購物,或者使用銀行卡在銀行或ATM取款機取款等。
[0003]現有網站和銀行的系統均為要求用戶輸入完整的賬戶和密碼,系統會進一步將終端提供的賬號和密碼與自身存儲的賬號和密碼進行匹配,在用戶輸入的賬號和密碼與自身存儲的賬號和密碼相同時,會認為當前終端登錄賬戶成功,允許當前終端進一步訪問系統內的對該賬戶開放權限的數據。然而現有的系統存在一定的安全風險,由于現有系統要求完整的賬號和密碼,使得在通信過程中,密碼存在被破解的風險,可能給用戶帶來經濟損失。具體的,舉例為:在用戶登陸網站的賬戶名稱或銀行賬戶號被不法分子獲得之后,不法分子可能使用密碼破解軟件,不斷的向網站的服務器發出登陸請求,每個登陸請求都采用不同的密碼,如此進行遍歷的方式破解用戶的密碼,由于現有的網站每次要求輸入的密碼不會發生變化,使得現有的密碼較易于被破解。一旦被破解,可能導致用戶在購物網站預存的金額被盜用,或用戶網絡銀行的賬號和密碼等信息泄露,導致用戶的資產可能被不法分子轉移。
【發明內容】
[0004]本申請實施方式的目的是提供一種能夠減小用戶的密碼被破解的風險的數據通信方法和系統及客戶端和服務器。
[0005]為解決上述技術問題,本申請提供一種數據通信方法,其包括:客戶端向服務器發出通信請求;所述服務器響應所述通信請求,按照第一預設規則產生至少一個位碼,所述服務器將附帶有所述至少一個位碼的信息發送給所述客戶端;所述客戶端產生數量與所述至少一個位碼對應的至少一個輸入框,偵測所述至少一個輸入框的輸入事件,在發生輸入事件時獲取所述至少一個輸入框的數據;所述客戶端將所述至少一個輸入框的數據作為至少一個驗證數據發送給所述服務器;所述服務器從所述預設數據中獲取所述至少一個位碼對應的至少一個位數據;所述服務器將所述至少一個位碼中每個所述位碼對應的位數據和驗證數據進行比對,所述至少一個位碼中每個所述位碼對應的位數據和驗證數據均相同時,所述服務器向所述客戶端發出成功信息碼。
[0006]本申請還提供一種數據通信系統,所述數據通信系統包括客戶端和服務器,所述客戶端包括:請求發送模塊,用于向所述服務器發出通信請求;位碼接收模塊,用于接收所述服務器發出的附帶有至少一個位碼的信息;輸入模塊,用于產生數量與所述至少一個位碼對應的至少一個輸入框,偵測所述至少一個輸入框的輸入事件,在發生輸入事件時獲取所述至少一個輸入框的數據;驗證數據發送模塊,用于將所述至少一個輸入框的數據作為至少一個驗證數據發送給所述服務器;所述服務器包括:請求接收模塊,用于接收所述客戶端發出的所述通信請求;響應模塊,用于響應所述通信請求,按照第一預設規則產生至少一個位碼,將附帶有所述至少一個位碼的信息發送給所述客戶端;驗證數據接收模塊,用于接收所述客戶端發出的至少一個驗證數據;比對模塊,用于將所述至少一個位碼對應的所述預設數據中的位數據和驗證數據進行比對,所述至少一個位碼對應的位數據和驗證數據相同時,向所述客戶端發出成功信息碼。
[0007]本申請還提供一種數據通信方法,所述數據通信方法包括:向服務器發出通信請求;接收所述服務器發送的信息,獲取所述信息附帶的至少一個位碼;產生數量與所述至少一個位碼對應的至少一個輸入框,偵測所述至少一個輸入框的輸入事件,在發生輸入事件時獲取所述至少一個輸入框的數據;將所述至少一個輸入框的數據作為至少一個驗證數據發送給所述服務器。
[0008]本申請還提供一種客戶端,所述客戶端包括:請求發送模塊,用于向服務器發出通信請求;位碼接收模塊,用于接收所述服務器發出的附帶有至少一個位碼的信息;輸入模塊,用于產生數量與所述至少一個位碼對應的至少一個輸入框,偵測所述至少一個輸入框的輸入事件,在發生輸入事件時獲取所述至少一個輸入框的數據;驗證數據發送模塊,用于將所述至少一個輸入框的數據作為至少一個驗證數據發送給所述服務器。
[0009]本申請還提供一種數據通信方法,所述方法包括:接收客戶端發出的通信請求;響應通信請求,按照第一預設規則產生至少一個位碼,將附帶有所述至少一個位碼的信息發送給所述客戶端;接收客戶端發出的至少一個驗證數據;從所述預設數據中獲取所述至少一個位碼對應的至少一個位數據;將所述至少一個位碼對應的所述預設數據中的位數據和驗證數據進行比對,所述至少一個位碼中每個所述位碼對應的位數據和驗證數據相同時,向所述客戶端發出成功信息碼。
[0010]本申請還提供一種服務器,所述服務器包括:請求接收模塊,用于接收客戶端發出的通信請求;響應模塊,用于響應所述通信請求,按照第一預設規則產生至少一個位碼,將附帶有所述至少一個位碼的信息發送給所述客戶端;驗證數據接收模塊,用于接收客戶端發出的至少一個驗證數據;比對模塊,用于將所述至少一個位碼對應的所述預設數據中的位數據和驗證數據進行比對,所述至少一個位碼對應的位數據和驗證數據相同時,向所述客戶端發出成功信息碼。
[0011]由以上本申請實施方式提供的技術方案可見,本申請通過預設規則使用戶在進行驗證身份的過程中,輸入預設數據中指定的幾個數位的數據,用戶每次進行驗證身份時,要求用戶輸入的內容可以發生變化,如此實現保障用戶的密碼安全,降低了密碼被破解的風險。
【附圖說明】
[0012]為了更清楚地說明本申請實施方式或現有技術中的技術方案,下面將對實施方式或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施方式,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0013]圖1為本申請一個實施方式提供的數據通信方法的流程圖;
[0014]圖2為本申請一個實施方式提供的數據通信方法的流程圖;
[0015]圖3為本申請一個實施方式提供的數據通信系統的模塊圖;
[0016]圖4為本申請一個實施方式提供的數據通信方法的流程圖;
[0017]圖5為本申請一個實施方式提供的客戶端的模塊圖;
[0018]圖6為本申請一個實施方式提供的數據通信方法的流程圖;
[0019]圖7為本申請一個實施方式提供的數據通信方法的流程圖;
[0020]圖8為本申請一個實施方式提供的服務器的模塊圖。
【具體實施方式】
[0021 ] 為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施方式中的附圖,對本申請實施方式中的技術方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本申請一部分實施方式,而不是全部的實施方式。基于本申請中的實施方式,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施方式,都應當屬于本申請保護的范圍。
[0022]請參閱圖1,為本申請的一個實施方式提供的數據通信方法,其包括如下步驟。
[0023]步驟S10:客戶端向服務器發出通信請求。
[0024]在本實施方式中,客戶端可以是用戶的個人電腦、商場的刷卡機或ATM取款機,也可以是運行在上述硬件的軟件。所述服務器可以是網站的服務器或銀行的服務器。
[0025]在本實施方式中,客戶端向服務器發出通信請求,表示可能存在用戶通過客戶端登陸服務器,查閱、編輯或使用服務器中對應所述用戶保存的數據。具體的,舉例為:用戶通過個人電腦登陸某網站;用戶使用銀行卡在某商場消費;用戶使用銀行卡在ATM取款機或存/取款機中提取現金;用戶使用網絡銀行進行消費,或管理賬戶等等。
[0026]在本實施方式中,通信請求可以是字符組成的字符串,用于表示客戶端請求與服務器建立通信,在該通信的基礎上,客戶端可以訪問服務器中存儲的數據。觸發發出通信請求的事件可以包括:用戶登錄網站時點擊登錄按鈕;用戶使用銀行卡在刷卡設備上進行刷卡操作
[0027]步驟S20:所述服務器響應所述通信請求,按照第一預設規則產生至少一個位碼,所述服務器將附帶有所述至少一個位碼的信息發送給所述客戶端。
[0028]在本實施方式中,位碼可以表示預設數據的數位的序號,預設數據的位碼的排序方式可以從左至右,也可以從右至左。具體的,舉例為:所述預設數據可以為754962,若所述位碼的排序方式是從左至右,數字“7”的位碼可以是1,數字“5”的位碼可以是2,以此類推,數字“4”、“9”、“6”和“2”的位碼分別為3、4、5和6 ;若所述位碼的排序方式是從右至左,數字“2”的位碼可以是1,數字“6”的位碼可以是2,以此類推,數字“9”、“4”、“5”和“7”的位碼分別是3、4、5和6。
[0029]在本實施方式中,預設數據預先設置存儲在服務器中,用于在客戶端與服務器建立通信過程中,作為秘鑰使用,即客戶端輸入與服務器相同的預設數據時,客戶端與服務器建立通信。預設數據可以是用戶預先設置的密碼,所述預設數據對應用戶的賬號或賬戶名保存,用戶輸入正確賬號和密碼、或賬戶名和密碼可以訪問服務器內的相關數據。具體的,舉例為:預設數據可以是用戶登錄網站的密碼,用戶在網站的登錄界面輸入賬戶名和密碼,即可登錄網站,從而進一步的操作;預設數據可以是用戶銀行賬戶的密碼,用戶使用賬號和密碼、或賬戶名和密碼可以在銀行或ATM存取款機辦理業務。在本實施方式中,預設數據的位數可以統一規定固定的數量。
[0030]在本實施方式中,第一預設規則用于產生至少一個位碼,位碼的數量和取值均小于或等于預設數據的位數。第一預設規則能夠產生數量和取值均小于或等于預設數據的位數的數字。具體的,舉例為:預設數據的位數為6,所述第一預設規則可以為每次隨機的在1?6之間選擇2個數字,該選中的兩個數字作為位碼。當然,在收到通信請求之后,產生的至少一個位碼的數量并不限于2個,也可以為1個、3個、4個、5個或6個,只要至少一個位碼的數量小于或等于預設數據的位數即可。
[0031]步驟S30:所述客戶端產生數量與所述至少一個位碼對應的至少一個輸入框,偵測所述至少一個輸入框的輸入事件,在發生輸入事件時獲取所述至少一個輸入框的數據。
[0032]在本實施方式中,所述客戶端接收所述至少一個位碼之后,產生至少一個輸入框。當用戶向輸入框輸入數據,即為發生了輸入事件。客戶端偵測到輸入事件之后,獲取輸入框內的數據。輸入框可以是客戶端中的一個控件。
[0033]在本實施方式中,在客戶端可以給用戶輸入提示,即在每個輸入框附近提示該輸入框對應的位碼。當用戶知道預設數據時,可以按照提示輸入位碼對應的預設數據中的數據。客戶端可以