處理登陸服務(wù)器的密碼的方法和裝置制造方法【專利摘要】本發(fā)明提供一種處理登陸服務(wù)器的密碼的方法和裝置。所述處理登陸服務(wù)器的密碼的方法,包括:獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;根據(jù)所述第一賬號和所述第一密碼,生成第一索引;查找所述第一賬號對應(yīng)的第二索引;根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;獲取所述第一記錄中保存的第二密碼;將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;如果所述比較結(jié)果為相同,則允許所述用戶登錄。本發(fā)明能夠提高保存密碼的安全性?!緦@f明】處理登陸服務(wù)器的密碼的方法和裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及網(wǎng)絡(luò)安全【
技術(shù)領(lǐng)域:
】,特別是指一種處理登陸服務(wù)器的密碼的方法和裝置。【
背景技術(shù):
】[0002]隨著網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,網(wǎng)絡(luò)用戶的賬號信息被盜現(xiàn)象也日趨嚴(yán)重,網(wǎng)絡(luò)安全成為一個(gè)不容忽視的問題。一個(gè)用戶通常同時(shí)擁有多個(gè)網(wǎng)絡(luò)賬號,如網(wǎng)絡(luò)游戲賬號、網(wǎng)上銀行賬戶、即時(shí)通信賬號、電子郵箱賬號等等,這些賬號所代表的價(jià)值甚至超過人們的實(shí)物財(cái)產(chǎn)。但由于網(wǎng)絡(luò)的虛擬性,網(wǎng)絡(luò)竊賊難以被發(fā)現(xiàn),因此網(wǎng)絡(luò)盜竊現(xiàn)象及其嚴(yán)重,網(wǎng)絡(luò)賬號防盜技術(shù)就顯得尤其重要。[0003]通常,用戶賬號信息保存在服務(wù)器的數(shù)據(jù)庫表中,這個(gè)表有個(gè)兩個(gè)字段,一個(gè)字段保存用戶賬號,一個(gè)字段保存用戶密碼,一個(gè)用戶占用用戶信息表的一行,也就是一個(gè)數(shù)據(jù)記錄。當(dāng)用戶登錄時(shí),程序?qū)⒂脩籼顚懙男畔⑴c數(shù)據(jù)庫表中的信息對照,如果用戶賬號和密碼都準(zhǔn)確無誤,那么說明這個(gè)用戶是合法用戶,通過登錄;反之,則是非法用戶,不許用戶通過。[0004]將用戶賬號和密碼直接保存在一張數(shù)據(jù)庫表中,并沒有進(jìn)行任何保密措施,如果非法用戶得到這個(gè)文件,輕易得就能獲取用戶賬號和密碼。如果一個(gè)不負(fù)責(zé)的服務(wù)器管理員,不需要任何技術(shù)手段,就可以查看服務(wù)器中的用戶賬號信息?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明要解決的技術(shù)問題是提供一種處理登陸服務(wù)器的密碼的方法和裝置,能夠提供服務(wù)器的密碼的保存的安全性。[0006]為解決上述技術(shù)問題,本發(fā)明的實(shí)施例提供技術(shù)方案如下:[0007]—方面,提供一種處理登陸服務(wù)器的密碼的方法,包括:[0008]獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0009]根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0010]查找所述第一賬號對應(yīng)的第二索引;[0011]根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;[0012]獲取所述第一記錄中保存的第二密碼;[0013]將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0014]如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0015]其中,所述根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄的步驟包括:[0016]查找所述第一索引對應(yīng)的第一密碼表;在所述第一密碼表中,查找所述第二索引對應(yīng)的第一記錄;或者[0017]查找所述第二索引對應(yīng)的第一密碼表;在所述第一密碼表中,查找所述第一索引對應(yīng)的第一記錄。[0018]其中,所述根據(jù)所述第一賬號和所述第一密碼,生成第一索引的步驟包括:[0019]根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0020]獲取所述第一字符串中的至少一位的字符,并組合,生成第一索引。[0021]其中,所述根據(jù)所述第一賬號和所述第一密碼生成第一字符串的步驟包括:[0022]將所述第一賬號和所述第一密碼組成第二字符串;[0023]通過加密算法,根據(jù)所述第二字符串生成第一字符串。[0024]其中,所述將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果的步驟之前,所述方法還包括:[0025]根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0026]所述將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果的步驟具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0027]其中,所述根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密的步驟包括:[0028]根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0029]獲取所述第一字符串的預(yù)定位的字符;[0030]獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0031]根據(jù)所述加密算法,對所述第一密碼進(jìn)行加密。[0032]其中,所述獲取用戶登錄服務(wù)器時(shí)輸入的賬號和第一密碼的步驟之前,所述方法還包括:[0033]獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;[0034]根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0035]獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;[0036]根據(jù)所述第三索引獲取一第二密碼表,在所述第二密碼表中的一第二記錄中保存所述第三密碼;[0037]獲取所述第二記錄的記錄序號,作為第四索引;[0038]建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0039]其中,所述獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼的步驟之前,所述方法還包括:[0040]獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;[0041]根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0042]獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;[0043]根據(jù)所述第三索引獲取一第二記錄,在所述第二記錄中保存所述第三密碼;[0044]獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索引;[0045]建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0046]其中,所述根據(jù)所述第二賬號和所述第三密碼生成第三字符串的步驟包括:[0047]將所述第二賬號和所述第三密碼組成第四字符串;[0048]通過加密算法,根據(jù)所述第四字符串生成第三字符串。[0049]所述在所述第二記錄中保存所述第三密碼的步驟包括,[0050]根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密;在所述第二記錄中保存加密后的所述第三密碼。[0051]其中,所述根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密的步驟包括:[0052]根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0053]獲取所述第三字符串的預(yù)定位的字符;[0054]獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0055]根據(jù)所述加密算法,對所述第三密碼進(jìn)行加密。[0056]另一方面,提供一種處理登陸服務(wù)器的密碼的裝置,包括:[0057]第一獲取單元,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0058]第一生成單元,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0059]第一查找單元,查找所述第一賬號對應(yīng)的第二索引;[0060]第二查找單元,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;[0061]第二獲取單元,獲取所述第一記錄中保存的第二密碼;[0062]比較單元,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0063]管理單元,如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0064]所述的處理登陸服務(wù)器的密碼的裝置,還包括:第一加密單元,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0065]所述比較單元具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0066]其中,所述的處理登陸服務(wù)器的密碼的裝置,還包括:[0067]第三獲取單元,獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;[0068]第二生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0069]第三生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索弓I;[0070]第一保存單元,根據(jù)所述第三索引獲取一第二密碼表,在所述第二密碼表中的一第二記錄中保存所述第三密碼;[0071]第四獲取單元,獲取所述第二記錄的記錄序號,作為第四索引;[0072]第一建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0073]其中,所述的處理登陸服務(wù)器的密碼的裝置,還包括:[0074]第五獲取單元,獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;[0075]第四生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0076]第五生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索弓I;[0077]第二保存單元,根據(jù)所述第三索引獲取一第二記錄,在所述第二記錄中保存所述第三密碼;[0078]第六獲取單元,獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索弓I;[0079]第二建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0080]本發(fā)明的實(shí)施例具有以下有益效果:[0081]上述方案中,密碼保存在一密碼表的一記錄中,并且需要通過第一索引和第二索引來獲取密碼的存儲位置,因此,用戶賬號和密碼不是簡單地保存在一張數(shù)據(jù)庫表,增加了密碼的安全性?!緦@綀D】【附圖說明】[0082]圖1為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法的一實(shí)施例的流程示意圖;[0083]圖2為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法的另一實(shí)施例的流程示意圖;[0084]圖3為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法的另一實(shí)施例的流程示意圖;[0085]圖4為本發(fā)明所述的處理登陸服務(wù)器的密碼的方法的應(yīng)用場景中終端注冊服務(wù)器的流程示意圖;[0086]圖5為本發(fā)明所述的處理登陸服務(wù)器的密碼的方法的應(yīng)用場景中終端登錄服務(wù)器的流程示意圖;[0087]圖6為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的裝置的一實(shí)施例的結(jié)構(gòu)示意圖。【具體實(shí)施方式】[0088]為使本發(fā)明的實(shí)施例要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。[0089]如圖1所示,為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法,包括:[0090]步驟11,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0091]步驟12,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0092]其中,步驟12包括:[0093]步驟121,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0094]步驟122,獲取所述第一字符串中的至少一位的字符,并組合,生成第一索引。[0095]其中,步驟121包括:[0096]步驟1211,將所述第一賬號和所述第一密碼組成第二字符串;[0097]步驟1212,通過加密算法,根據(jù)所述第二字符串生成第一字符串。[0098]步驟13,查找所述第一賬號對應(yīng)的第二索引;[0099]步驟14,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;[0100]其中,在一應(yīng)用場景中,第一索引為密碼表索引,第二索引為記錄索引。步驟14包括:[0101]步驟141A,查找所述第一索引對應(yīng)的第一密碼表;[0102]步驟142A,在所述第一密碼表中,查找所述第二索引對應(yīng)的第一記錄;[0103]或者,在一應(yīng)用場景中,第一索引為記錄索引,第二索引為密碼表索引。步驟14包括:[0104]步驟141B,查找所述第二索引對應(yīng)的第一密碼表;[0105]步驟142B,在所述第一密碼表中,查找所述第一索引對應(yīng)的第一記錄。[0106]步驟15,獲取所述第一記錄中保存的第二密碼;[0107]步驟16,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0108]步驟17,如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0109]可選的,步驟16之前,所述方法還包括:[0110]步驟16A,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0111]相應(yīng)的,步驟16具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0112]其中,步驟16A包括:[0113]步驟16A1,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0114]步驟16A2,獲取所述第一字符串的預(yù)定位的字符;[0115]步驟16A3,獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0116]步驟16A4,根據(jù)所述加密算法,對所述第一密碼進(jìn)行加密。[0117]上述方案中,密碼保存在一密碼表的一記錄中,并且需要通過第一索引和第二索引來獲取密碼的存儲位置,因此,用戶賬號和密碼不是簡單地保存在一張數(shù)據(jù)庫表,增加了密碼的安全性。[0118]如圖2所示,為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法的一實(shí)施例,包括:[0119]步驟21,獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;[0120]步驟22,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0121]步驟23,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;[0122]步驟24,根據(jù)所述第三索引獲取一第二密碼表;在所述第二密碼表中的一第二記錄中保存所述第三密碼;[0123]步驟25,獲取所述第二記錄的記錄序號,作為第四索引;[0124]步驟26,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0125]上述步驟21-26為用戶注冊時(shí)的步驟。[0126]步驟27,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0127]步驟28,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0128]步驟29,查找所述第一賬號對應(yīng)的第二索引;[0129]步驟210,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;在該實(shí)施例中,第四索引和第二索引相同,與記錄具有對應(yīng)關(guān)系,第一索引和第三索引相同,與密碼表具有對應(yīng)關(guān)系。[0130]其中,步驟210包括:步驟2101,查找所述第一索引對應(yīng)的第一密碼表;步驟2102,在所述第一密碼表中,查找所述第二索引對應(yīng)的第一記錄。[0131]步驟211,獲取所述第一記錄中保存的第二密碼;[0132]步驟212,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0133]步驟213,如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0134]上述步驟27-213為用戶登陸時(shí)的步驟。[0135]在一應(yīng)用場景中,其中,步驟22包括:[0136]步驟221,將所述第二賬號和所述第三密碼組成第四字符串;[0137]步驟222,通過加密算法,根據(jù)所述第四字符串生成第三字符串。[0138]相應(yīng)的,后續(xù)處理步驟中,步驟28包括:[0139]步驟281,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0140]步驟282,獲取所述第一字符串中的至少一位的字符,并組合,生成第一索引。[0141]其中,步驟281包括:[0142]步驟2811,將所述第一賬號和所述第一密碼組成第二字符串;[0143]步驟2812,通過加密算法,根據(jù)所述第二字符串生成第一字符串。[0144]在一應(yīng)用場景中,步驟24中的所述在所述第二密碼表中的一第二記錄中保存所述第三密碼的步驟包括:[0145]步驟241,根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密;[0146]步驟242,在所述第二記錄中保存加密后的所述第三密碼。[0147]相應(yīng)的,后續(xù)處理步驟中,步驟212之前,所述方法還包括:[0148]步驟212A,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0149]步驟212具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0150]在一應(yīng)用場景中,步驟241包括:[0151]步驟2411,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0152]步驟2412,獲取所述第三字符串的預(yù)定位的字符;[0153]步驟2413,獲取所述預(yù)定位的字符對應(yīng)的加密算法;也就是說,預(yù)先設(shè)置多個(gè)加密算法,并且建立不同字符和不同加密算法之間的對應(yīng)關(guān)系。[0154]步驟2414,根據(jù)所述加密算法,對所述第三密碼進(jìn)行加密。[0155]相應(yīng)的,后續(xù)處理步驟中,步驟212A步驟包括:[0156]步驟212A1,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0157]步驟212A2,獲取所述第一字符串的預(yù)定位的字符;[0158]步驟212A3,獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0159]步驟212A4,根據(jù)所述加密算法,對所述第一密碼進(jìn)行加密。[0160]如圖3所示,為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的方法,包括:[0161]步驟31,獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;[0162]步驟32,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0163]步驟33,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;[0164]步驟34,根據(jù)所述第三索引獲取一第二記錄,在所述第二記錄中保存所述第三密碼;[0165]步驟35,獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索引;[0166]步驟36,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0167]其中步驟31-36為用戶注冊時(shí)的步驟。[0168]步驟37,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0169]步驟38,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0170]步驟39,查找所述第一賬號對應(yīng)的第二索引;[0171]步驟310,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;在該實(shí)施例中,第四索引和第二索引相同,與密碼表具有對應(yīng)關(guān)系,第一索引和第三索引相同,與記錄具有對應(yīng)關(guān)系。[0172]其中,步驟310包括:步驟3101,查找所述第二索引對應(yīng)的第一密碼表;步驟3102,在所述第一密碼表中,查找所述第一索引對應(yīng)的第一記錄。[0173]步驟311,獲取所述第一記錄中保存的第二密碼;[0174]步驟312,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0175]步驟313,如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0176]其中步驟37-313為用戶登陸時(shí)的步驟[0177]在一應(yīng)用場景中,其中,步驟32包括:[0178]步驟321,將所述第二賬號和所述第三密碼組成第四字符串;[0179]步驟322,通過加密算法,根據(jù)所述第四字符串生成第三字符串。[0180]相應(yīng)的,后續(xù)處理步驟中,步驟38包括:[0181]步驟381,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0182]步驟382,獲取所述第一字符串中的至少一位的字符,并組合,生成第一索引。[0183]其中,步驟381包括:[0184]步驟3811,將所述第一賬號和所述第一密碼組成第二字符串;[0185]步驟3812,通過加密算法,根據(jù)所述第二字符串生成第一字符串。[0186]在一應(yīng)用場景中,步驟34中的所述在第二記錄中保存所述第三密碼的步驟包括:[0187]步驟341,根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密;[0188]步驟342,在所述第二記錄中保存加密后的所述第三密碼。[0189]相應(yīng)的,后續(xù)處理步驟中,步驟312之前,所述方法還包括:[0190]步驟312A,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0191]步驟312具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0192]在一應(yīng)用場景中,步驟341包括:[0193]步驟3411,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0194]步驟3412,獲取所述第三字符串的預(yù)定位的字符;[0195]步驟3413,獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0196]步驟3414,根據(jù)所述加密算法,對所述第三密碼進(jìn)行加密。[0197]相應(yīng)的,后續(xù)處理步驟中,步驟312A步驟包括:[0198]步驟212A1,根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;[0199]步驟312A2,獲取所述第一字符串的預(yù)定位的字符;[0200]步驟312A3,獲取所述預(yù)定位的字符對應(yīng)的加密算法;[0201]步驟312A4,根據(jù)所述加密算法,對所述第一密碼進(jìn)行加密。[0202]以下描述本發(fā)明的應(yīng)用場景。[0203]本發(fā)明米用如下技術(shù)方案:服務(wù)器存在一張用戶表、一張密碼算法表和若干張密碼表。賬號表包含username和password-table兩個(gè)字段,username字段保存用戶的賬號信息,password-table保存用戶密碼表索引,密碼表索引表示密碼保存在哪張張表中。密碼算法表保存服務(wù)器支持的密碼算法。密碼表僅包含一個(gè)字段password,保存用戶加密后的密碼。[0204]用戶第一次注冊時(shí),通過預(yù)定協(xié)議將賬號和密碼發(fā)送到服務(wù)器。服務(wù)器收到消息后,首先將賬號和密碼組成第一字符串;通過MD5加密算法,根據(jù)第一字符串產(chǎn)生第二字符串;然后取這個(gè)字符串的第一位,根據(jù)字符串的第一位的值,從密碼算法表中獲取對應(yīng)的加密算法;然后對用戶的密碼進(jìn)行加密。再取字符串的前4位作為用戶密碼的記錄索引,如果該索引對應(yīng)在密碼表I中的記錄不為空。則查看該索引對應(yīng)在密碼表2中是否已經(jīng)存在記錄,直到產(chǎn)生的記錄索引在密碼表η中的記錄為空,則將用戶加密后的密碼插入到第η張密碼表的記錄索引對應(yīng)的記錄中。記錄索引表示密碼保存在密碼表中哪條記錄。最后,將賬號和對應(yīng)密碼表的表索引η插入到賬號表中。[0205]以后用戶每次登錄時(shí),服務(wù)器收到用戶的賬號和密碼后,首先將賬號和密碼組成第一字符串,通過MD5加密算法,根據(jù)第一字符串產(chǎn)生第二字符串;然后根據(jù)第二字符串的第一位的值,從密碼算法表中獲取對應(yīng)的加密算法,對用戶密碼進(jìn)行加密;然后取第二字符串的前4位作為用戶的記錄索引,再從用戶表中獲取用戶的賬號信息和密碼表索引;根據(jù)記錄索引,到密碼表索引對應(yīng)的密碼表中獲取用戶保存在服務(wù)器中的密碼;同時(shí)和登錄消息中的密碼進(jìn)行比較,如果相同則用戶合法,登錄結(jié)束。[0206]以下描述本發(fā)明所述的保存服務(wù)器用戶密碼的方法的實(shí)施例。[0207]服務(wù)器端的數(shù)據(jù)庫包含一張用戶賬號表、一張密碼算法表和若干密碼表。[0208]用戶賬號表包含username和password-table兩個(gè)字段,username字段保存用戶的賬號信息,password-table是用戶的密碼表索引,表示用戶的密碼保存在哪張密碼表中。[0209]密碼算法表保存用戶可以使用的密碼加密算法。[0210]密碼表有若干張,根據(jù)服務(wù)器的用戶量來決定。密碼表僅包含一個(gè)字段password,保存用戶加密后的密碼。[0211]圖4為終端UE第一次注冊服務(wù)器的流程,包括:[0212]步驟201:用戶UE發(fā)送注冊消息到服務(wù)器,注冊消息中包含用戶賬號和密碼。[0213]步驟202:服務(wù)器把賬號和密碼組成的字符串運(yùn)用MD5算法進(jìn)行加密,得到128位的字符串S。根據(jù)MD5算法的特性,這個(gè)字符串S是唯一的。[0214]步驟203:取字符串S的第I位,作為密碼算法索引,從算法表獲取加密算法,對密碼進(jìn)行加密。[0215]該步驟中,如果服務(wù)器中的密碼算法的數(shù)量少于字符串第一位的可能取值的數(shù)量,則使用散列函數(shù)映射到密碼算法表中。假如,密碼算法表中有5種加密算法,而字符串第一位可能是0-9和a-z共36種情況,則使用一種哈希函數(shù)對字符串第一位進(jìn)行計(jì)算,映射到該密碼算法表中。[0216]步驟204:取字符串的前4位作為用戶在密碼表中的記錄索引password-1ndex,首先在第一張密碼表中查看第password-1ndex條記錄是否為空,如果不為空,則查看第二張密碼表中第password-1ndex條記錄是否為空,直到一張密碼表對應(yīng)的第password-1ndex條記錄為空。[0217]步驟205:把加密后的密碼插入到該密碼表的第password-1ndex條記錄,同時(shí)把該密碼表作為用戶的密碼表索引table-1ndex。[0218]步驟206:將賬號和table-1ndex插入到用戶賬號表中,用戶UE完成注冊。[0219]圖5為終端UE登錄服務(wù)器的流程,包括:[0220]步驟301:用戶UE發(fā)送注冊消息到服務(wù)器,注冊消息中包含賬號和密碼。[0221]步驟302:同第一次注冊服務(wù)器一樣,服務(wù)器對賬號和密碼組成的字符串運(yùn)用MD5算法進(jìn)行加密,得到128位的字符串S。[0222]步驟303:獲取用戶密碼算法的流程同第一次注冊服務(wù)器相同。[0223]步驟304:從服務(wù)器的用戶賬號表中獲取用戶的賬號和該用戶的密碼表索引table-1ndex。[0224]步驟305:取字符串的前4位作為用戶的記錄索引password_index,從第table-1ndex張密碼表中的第password-1ndex條記錄中獲取用戶密碼。[0225]步驟306:比較從密碼表獲取的密碼和登錄消息中包含的密碼是否相同。[0226]步驟307:如果兩者密碼相同,說明用戶是合法用戶,登錄結(jié)束。[0227]如圖6所示,為本發(fā)明所述的一種處理登陸服務(wù)器的密碼的裝置,包括:[0228]第一獲取單元41,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;[0229]第一生成單元42,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;[0230]第一查找單元43,查找所述第一賬號對應(yīng)的第二索引;[0231]第二查找單元44,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;[0232]第二獲取單元45,獲取所述第一記錄中保存的第二密碼;[0233]比較單元46,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;[0234]管理單元47,如果所述比較結(jié)果為相同,則允許所述用戶登錄。[0235]所述的處理登陸服務(wù)器的密碼的裝置,還包括:[0236]第一加密單元48,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;[0237]所述比較單元46具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。[0238]所述的處理登陸服務(wù)器的密碼的裝置,還包括:[0239]第三獲取單元,獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;[0240]第二生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0241]第三生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索弓I;[0242]第一保存單元,根據(jù)所述第三索引獲取一第二密碼表,在所述第二密碼表中的一第二記錄中保存所述第三密碼;[0243]第四獲取單元,獲取所述第二記錄的記錄序號,作為第四索引;[0244]第一建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0245]可選的,所述的處理登陸服務(wù)器的密碼的裝置,還包括:[0246]第五獲取單元,獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;[0247]第四生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;[0248]第五生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;[0249]第二保存單元,根據(jù)所述第三索引獲取一第二記錄,在所述第二記錄中保存所述第三密碼;[0250]第六獲取單元,獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索弓I;[0251]第二建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。[0252]本發(fā)明提供一種保存服務(wù)器用戶密碼的方法,把賬號和密碼分別保存到兩張不同的數(shù)據(jù)庫表中,同時(shí)從密碼算法表隨機(jī)獲取一種算法,對密碼進(jìn)行加密,再根據(jù)哈希算法,把加密后的密碼隨機(jī)插入到密碼表中。這樣即使有人非法獲取整個(gè)數(shù)據(jù)庫,由于無法獲取用戶對應(yīng)在密碼表中的索引,因此不能查看到用戶在密碼表中的密碼,從而防止用戶信息的泄漏,同時(shí)防止非法用戶從服務(wù)器獲取用戶密碼,提高了服務(wù)器的安全性,。[0253]以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本【
技術(shù)領(lǐng)域:
】的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍?!緳?quán)利要求】1.一種處理登陸服務(wù)器的密碼的方法,其特征在于,包括:獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;根據(jù)所述第一賬號和所述第一密碼,生成第一索引;查找所述第一賬號對應(yīng)的第二索引;根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;獲取所述第一記錄中保存的第二密碼;將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;如果所述比較結(jié)果為相同,則允許所述用戶登錄。2.根據(jù)權(quán)利要求1所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄的步驟包括:查找所述第一索引對應(yīng)的第一密碼表;在所述第一密碼表中,查找所述第二索引對應(yīng)的第一記錄;或者查找所述第二索引對應(yīng)的第一密碼表;在所述第一密碼表中,查找所述第一索引對應(yīng)的第一記錄。3.根據(jù)權(quán)利要求1所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)所述第一賬號和所述第一密碼,生成第一索引的步驟包括:根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;獲取所述第一字符串中的至少一位的字符,并組合,生成第一索引。4.根據(jù)權(quán)利要求3所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)所述第一賬號和所述第一密碼生成第一字符串的步驟包括:將所述第一賬號和所述第一密碼組成第二字符串;通過加密算法,根據(jù)所述第二字符串生成第一字符串。5.根據(jù)權(quán)利要求1所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果的步驟之前,所述方法還包括:根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;所述將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果的步驟具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。6.根據(jù)權(quán)利要求5所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密的步驟包括:根據(jù)所述第一賬號和所述第一密碼,生成第一字符串;獲取所述第一字符串的預(yù)定位的字符;獲取所述預(yù)定位的字符對應(yīng)的加密算法;根據(jù)所述加密算法,對所述第一密碼進(jìn)行加密。7.根據(jù)權(quán)利要求1-6任一權(quán)利要求所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述獲取用戶登錄服務(wù)器時(shí)輸入的賬號和第一密碼的步驟之前,所述方法還包括:獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;根據(jù)所述第三索引查找一第二密碼表,在所述第二密碼表中的一第二記錄中保存所述第三密碼;獲取所述第二記錄的記錄序號,作為第四索引;建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。8.根據(jù)權(quán)利要求1-6任一權(quán)利要求所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼的步驟之前,所述方法還包括:獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;根據(jù)所述第三索引查找一第二記錄,在所述第二記錄中保存所述第三密碼;獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索引;建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。9.根據(jù)權(quán)利要求7或8所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)所述第二賬號和所述第三密碼生成第三字符串的步驟包括:將所述第二賬號和所述第三密碼組成第四字符串;通過加密算法,根據(jù)所述第四字符串生成第三字符串。10.根據(jù)權(quán)利要求8所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述在所述第二記錄中保存所述第三密碼的步驟包括,根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密;在所述第二記錄中保存加密后的所述第三密碼。11.根據(jù)權(quán)利要求10所述的處理登陸服務(wù)器的密碼的方法,其特征在于,所述根據(jù)預(yù)定算法,對所述第三密碼進(jìn)行加密的步驟包括:根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;獲取所述第三字符串的預(yù)定位的字符;獲取所述預(yù)定位的字符對應(yīng)的加密算法;根據(jù)所述加密算法,對所述第三密碼進(jìn)行加密。12.一種處理登陸服務(wù)器的密碼的裝置,其特征在于,包括:第一獲取單元,獲取用戶登錄服務(wù)器時(shí)輸入的第一賬號和第一密碼;第一生成單元,根據(jù)所述第一賬號和所述第一密碼,生成第一索引;第一查找單元,查找所述第一賬號對應(yīng)的第二索引;第二查找單元,根據(jù)所述第一索引和所述第二索引,查找第一密碼表中的第一記錄;第二獲取單元,獲取所述第一記錄中保存的第二密碼;比較單元,將所述第二密碼和所述第一密碼進(jìn)行比較,生成比較結(jié)果;管理單元,如果所述比較結(jié)果為相同,則允許所述用戶登錄。13.根據(jù)權(quán)利要求12所述的處理登陸服務(wù)器的密碼的裝置,其特征在于,還包括:第一加密單元,根據(jù)預(yù)定算法,對所述第一密碼進(jìn)行加密;所述比較單元具體為:將所述第二密碼和加密后的所述第一密碼進(jìn)行比較,生成比較結(jié)果。14.根據(jù)權(quán)利要求12或13所述的處理登陸服務(wù)器的密碼的裝置,其特征在于,還包括:第三獲取單元,獲取用戶注冊時(shí)的輸入的第二賬號和第三密碼;第二生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;第三生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;第一保存單元,根據(jù)所述第三索引獲取一第二密碼表,在所述第二密碼表中的一第二記錄中保存所述第三密碼;第四獲取單元,獲取所述第二記錄的記錄序號,作為第四索引;第一建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系。15.根據(jù)權(quán)利要求12或13所述的處理登陸服務(wù)器的密碼的裝置,其特征在于,還包括:第五獲取單元,獲取用戶注冊時(shí)輸入的第二賬號和第三密碼;第四生成單元,根據(jù)所述第二賬號和所述第三密碼,生成第三字符串;第五生成單元,獲取所述第三字符串中的至少一位的字符,并組合,生成第三索引;二保存單元,根據(jù)所述第三索引獲取一第二記錄,在所述第二記錄中保存所述第三密碼;第六獲取單元,獲取所述第二記錄所在的第三密碼表的密碼表序號,作為第四索引;第二建立單元,建立所述第二賬號和所述第四索引之間的對應(yīng)關(guān)系?!疚臋n編號】H04L29/06GK103685149SQ201210321269【公開日】2014年3月26日申請日期:2012年9月3日優(yōu)先權(quán)日:2012年9月3日【發(fā)明者】陳昌乾申請人:中興通訊股份有限公司