本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種用戶口令存儲(chǔ)的方法及裝置。
背景技術(shù):
目前,在信息化的今天,用戶的信息安全也越來(lái)越受到關(guān)注,為了保證用戶的信息安全,用戶與服務(wù)器之間一般都需要進(jìn)行認(rèn)證,其中,基于用戶口令的認(rèn)證是一種有效的方法。用戶在注冊(cè)時(shí),需要預(yù)先輸入用戶口令,進(jìn)而服務(wù)器存儲(chǔ)用戶輸入的用戶口令,在之后用戶認(rèn)證過(guò)程中,將認(rèn)證時(shí)輸入的用戶口令與預(yù)先存儲(chǔ)的用戶口令進(jìn)行比較,進(jìn)而實(shí)現(xiàn)用戶的認(rèn)證。
現(xiàn)有技術(shù)中,對(duì)用戶口令進(jìn)行安全存儲(chǔ)的方法一般都是將用戶口令通過(guò)摘要算法計(jì)算以后存儲(chǔ)到系統(tǒng)中,之后,系統(tǒng)對(duì)用戶進(jìn)行認(rèn)證時(shí),用戶首先輸入用戶口令,然后對(duì)用戶口令進(jìn)行摘要計(jì)算,最后與系統(tǒng)預(yù)先存儲(chǔ)的用戶口令的摘要值進(jìn)行比對(duì),如果一致則認(rèn)證通過(guò),否則認(rèn)證失敗。
并且,現(xiàn)有技術(shù)中,在認(rèn)證過(guò)程中,還可以為系統(tǒng)首先生成一個(gè)隨機(jī)數(shù),用戶輸入用戶口令之后進(jìn)行摘要計(jì)算,然后對(duì)摘要結(jié)果和隨機(jī)數(shù)再計(jì)算一次摘要,然后將系統(tǒng)中預(yù)先存儲(chǔ)的摘要值和隨機(jī)數(shù)也再計(jì)算一次摘要,最后再將這兩個(gè)摘要值進(jìn)行比對(duì),如果一致則認(rèn)證通過(guò),否則認(rèn)證失敗。
但是,現(xiàn)有技術(shù)中,系統(tǒng)中預(yù)先存儲(chǔ)的用戶口令的摘要值都是固定的,攻破系統(tǒng)之后就可以很容易得到該摘要值,如果用戶口令不是太復(fù)雜,通過(guò)窮舉法或撞庫(kù)法就可以很容易的獲得該用戶口令,進(jìn)而對(duì)用戶的信息安全帶來(lái)很大風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種用戶口令存儲(chǔ)的方法及裝置,提高了用戶口令的存儲(chǔ)的安全性,從而提高了用戶的信息安全。
本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
一種用戶口令存儲(chǔ)的方法,包括:
接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;
根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;
將加密后的第一摘要值進(jìn)行存儲(chǔ)。
本發(fā)明實(shí)施例中,接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;將加密后的第一摘要值進(jìn)行存儲(chǔ),這樣,存儲(chǔ)的不僅僅簡(jiǎn)單地是用戶口令的摘要值,而是,對(duì)用戶口令的摘要值又進(jìn)行了加密,存儲(chǔ)的是加密后的用戶口令的摘要值,可以防止非法用戶獲取了用戶數(shù)據(jù)后,通過(guò)窮舉法或者撞庫(kù)法進(jìn)行破解,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性,提高了用戶的信息安全。
較佳的,將加密后的第一摘要值進(jìn)行存儲(chǔ)之后,進(jìn)一步包括:
根據(jù)預(yù)設(shè)的周期,對(duì)加密后的第一摘要值進(jìn)行更新。
較佳的,對(duì)加密后的第一摘要值進(jìn)行更新,具體包括:
根據(jù)當(dāng)前的第二時(shí)間和所述初始密鑰,生成當(dāng)前的第二密鑰;
基于所述當(dāng)前的第一密鑰,對(duì)所述加密后的第一摘要值進(jìn)行解密,獲得所述第一摘要值;
基于所述當(dāng)前的第二密鑰對(duì)所述第一摘要值重新進(jìn)行加密,并將重新加密后的第一摘要值進(jìn)行存儲(chǔ)。
這樣,由于對(duì)用戶口令的第一摘要加密的密鑰是根據(jù)時(shí)間動(dòng)態(tài)變化的,因此,可以有效防止非法用戶獲得整個(gè)數(shù)據(jù)庫(kù)后進(jìn)行數(shù)據(jù)分析來(lái)破解用戶口令,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性。
較佳的,進(jìn)一步包括:
接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第二摘要值;
根據(jù)當(dāng)前的第三時(shí)間和所述初始密鑰,生成當(dāng)前的第三密鑰,并基于所述當(dāng)前的第三密鑰對(duì)所述第二摘要值進(jìn)行加密;
將加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
較佳的,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值不一致時(shí),進(jìn)一步包括:
根據(jù)當(dāng)前的第三時(shí)間和所述預(yù)設(shè)的周期,計(jì)算相對(duì)于所述當(dāng)前的第三時(shí)間的前一個(gè)時(shí)間和后一個(gè)時(shí)間;
基于所述前一個(gè)時(shí)間、所述后一個(gè)時(shí)間和所述初始密鑰,分別生成前一個(gè)時(shí)間對(duì)應(yīng)的第四密鑰和后一個(gè)時(shí)間對(duì)應(yīng)的第五密鑰;
分別基于所述第四密鑰和所述第五密鑰對(duì)所述第二摘要值重新進(jìn)行加密,并分別將重新加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定至少有一個(gè)重新加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
一種用戶口令存儲(chǔ)的裝置,包括:
第一計(jì)算單元,用于接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;
第一加密單元,用于根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;
存儲(chǔ)單元,用于將加密后的第一摘要值進(jìn)行存儲(chǔ)。
本發(fā)明實(shí)施例中,接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;將加密后的第一摘要值進(jìn)行存儲(chǔ),這樣,存儲(chǔ)的不僅僅簡(jiǎn)單地是用戶口令的摘要值,而是,對(duì)用戶口令的摘要值又進(jìn)行了加密,存儲(chǔ)的是加密后的用戶口令的摘要值,可以防止非法用戶獲取了用戶數(shù)據(jù)后,通過(guò)窮舉法或者撞庫(kù)法進(jìn)行破解,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性,提高了用戶的信息安全。
較佳的,將加密后的第一摘要值進(jìn)行存儲(chǔ)之后,進(jìn)一步包括:
更新單元,用于根據(jù)預(yù)設(shè)的周期,對(duì)加密后的第一摘要值進(jìn)行更新。
較佳的,對(duì)加密后的第一摘要值進(jìn)行更新時(shí),更新單元具體用于:
根據(jù)當(dāng)前的第二時(shí)間和所述初始密鑰,生成當(dāng)前的第二密鑰;
基于所述當(dāng)前的第一密鑰,對(duì)所述加密后的第一摘要值進(jìn)行解密,獲得所述第一摘要值;
基于所述當(dāng)前的第二密鑰對(duì)所述第一摘要值重新進(jìn)行加密,并將重新加密后的第一摘要值進(jìn)行存儲(chǔ)。
這樣,由于對(duì)用戶口令的第一摘要加密的密鑰是根據(jù)時(shí)間動(dòng)態(tài)變化的,因此,可以有效防止非法用戶獲得整個(gè)數(shù)據(jù)庫(kù)后進(jìn)行數(shù)據(jù)分析來(lái)破解用戶口令,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性。
較佳的,進(jìn)一步包括:
第二計(jì)算單元,用于接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第二摘要值;
第二加密單元,用于根據(jù)當(dāng)前的第三時(shí)間和所述初始密鑰,生成當(dāng)前的第三密鑰,并基于所述當(dāng)前的第三密鑰對(duì)所述第二摘要值進(jìn)行加密;
第一認(rèn)證單元,用于將加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
較佳的,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值不一致時(shí),進(jìn)一步包括:
第三計(jì)算單元,用于根據(jù)當(dāng)前的第三時(shí)間和所述預(yù)設(shè)的周期,計(jì)算相對(duì)于所述當(dāng)前的第三時(shí)間的前一個(gè)時(shí)間和后一個(gè)時(shí)間;
第三加密單元,用于基于所述前一個(gè)時(shí)間、所述后一個(gè)時(shí)間和所述初始密鑰,分別生成前一個(gè)時(shí)間對(duì)應(yīng)的第四密鑰和后一個(gè)時(shí)間對(duì)應(yīng)的第五密鑰,并分別基于所述第四密鑰和所述第五密鑰對(duì)所述第二摘要值重新進(jìn)行加密;
第二認(rèn)證單元,用于分別將重新加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定至少有一個(gè)重新加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中,用戶口令存儲(chǔ)的方法流程圖;
圖2為本發(fā)明實(shí)施例中,用戶口令存儲(chǔ)的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,并不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了進(jìn)一步提高用戶口令的存儲(chǔ)的安全性,從而提高用戶的信息安全,本發(fā)明實(shí)施例中,對(duì)用戶口令進(jìn)行存儲(chǔ)時(shí),計(jì)算用戶口令的摘要值,并根據(jù)當(dāng)前的時(shí)間和初始密鑰生成當(dāng)前的密鑰,基于當(dāng)前的密鑰對(duì)用戶口令的摘要值進(jìn)行加密,進(jìn)而存儲(chǔ)加密后的用戶口令的摘要值。
下面通過(guò)具體實(shí)施例對(duì)本發(fā)明方案進(jìn)行詳細(xì)描述,當(dāng)然,本發(fā)明并不限于以下實(shí)施例。
參閱圖1所示,本發(fā)明實(shí)施例中,用戶口令存儲(chǔ)的方法的具體流程如下:
步驟100:接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算上述用戶口令的第一摘要值。
實(shí)際中,為了保證用戶的信息安全,經(jīng)常需要進(jìn)行用戶認(rèn)證,因此,用戶在一開始注冊(cè)時(shí),都需要先設(shè)定用戶口令,在系統(tǒng)中存儲(chǔ)該用戶口令,進(jìn)而在之后用戶登錄時(shí),基于該用戶口令對(duì)用戶進(jìn)行認(rèn)證。若系統(tǒng)中存儲(chǔ)的用戶口令被非法獲取,就會(huì)對(duì)用戶造成很大的安全威脅。
本發(fā)明實(shí)施例中,在用戶注冊(cè)時(shí),先根據(jù)預(yù)設(shè)的摘要算法,計(jì)算用戶口令的第一摘要值,這樣,就相當(dāng)于對(duì)用戶口令進(jìn)行了一次加密。
其中,上述預(yù)設(shè)的摘要算法,本發(fā)明實(shí)施例中,并不進(jìn)行限制,可以為現(xiàn)有技術(shù)中的任意的摘要算法,例如,消息摘要算法版本5(Message-Digest Algorithm 5,MD5)算法等。
例如,用戶輸入的用戶口令為P,根據(jù)預(yù)設(shè)的摘要算法,計(jì)算獲得的該用戶口令P的第一摘要值為H(P)。
步驟110:根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于上述當(dāng)前的第一密鑰對(duì)上述第一摘要值進(jìn)行加密。
本發(fā)明實(shí)施例中,對(duì)用戶口令的摘要值又進(jìn)行了一次加密,這樣,就相當(dāng)于對(duì)用戶口令進(jìn)行了兩次加密,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性。
執(zhí)行步驟110時(shí),具體包括:
首先,根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰。
其中,上述初始密鑰,可以是系統(tǒng)在初始化時(shí)隨機(jī)生成的,用戶無(wú)需知道該初始密鑰,這樣可以進(jìn)一步提高生成的第一密鑰的安全性。
并且,可以設(shè)定該當(dāng)前的第一時(shí)間的精確度,例如,精確到小時(shí),例如,時(shí)間為8:05:32,則在生成密鑰時(shí),可以將當(dāng)前的時(shí)間認(rèn)為是8h來(lái)進(jìn)行計(jì)算。
本發(fā)明實(shí)施例中,對(duì)于如何生成當(dāng)前的第一密鑰,同樣也可以使用現(xiàn)有技術(shù)中的算法,例如,哈希算法等,本發(fā)明實(shí)施例中,并不進(jìn)行限制。
然后,基于上述當(dāng)前的第一密鑰對(duì)上述第一摘要值進(jìn)行加密。
同樣地,在對(duì)第一摘要值進(jìn)行加密時(shí)使用的加密算法,本發(fā)明實(shí)施例中,并不進(jìn)行限制。
例如,初始密鑰為K0,當(dāng)前的第一時(shí)間為5h,則根據(jù)K0和5h生成當(dāng)前的第一密鑰為K1,然后,基于K1,使用預(yù)設(shè)的加密算法,對(duì)H(P)進(jìn)行加密,得到加密后的第一摘要值為
步驟120:將加密后的第一摘要值進(jìn)行存儲(chǔ)。
這樣,系統(tǒng)中存儲(chǔ)的不簡(jiǎn)單地是用戶口令的摘要值,而是,對(duì)用戶口令的摘要值又進(jìn)行了加密,存儲(chǔ)的是加密后的用戶口令的摘要值,可以防止非法用戶獲取了用戶數(shù)據(jù)后,通過(guò)窮舉法或者撞庫(kù)法進(jìn)行破解,提高了用戶口令存儲(chǔ)的安全性。
進(jìn)一步地,本發(fā)明實(shí)施例中,用戶口令存儲(chǔ)的方法,還包括:根據(jù)預(yù)設(shè)的周期,對(duì)加密后的第一摘要值進(jìn)行更新,具體為:
例如,預(yù)設(shè)的周期為一個(gè)小時(shí),則每隔一個(gè)小時(shí),系統(tǒng)自動(dòng)對(duì)加密后的第一摘要值進(jìn)行更新。
首先,根據(jù)當(dāng)前的第二時(shí)間和上述初始密鑰,生成當(dāng)前的第二密鑰。
同樣地,可以設(shè)定當(dāng)前的第二時(shí)間的精確度,例如,精確到小時(shí)。
然后,基于上述當(dāng)前的第一密鑰,對(duì)上述加密后的第一摘要值進(jìn)行解密,獲得上述第一摘要值。
最后,基于上述當(dāng)前的第二密鑰對(duì)上述第一摘要值重新進(jìn)行加密,并將重新加密后的第一摘要值進(jìn)行存儲(chǔ)。
例如,初始密鑰為K0,當(dāng)前的第二時(shí)間為6h,則根據(jù)K0和6h生成當(dāng)前的第二密鑰為K2,然后,使用K1對(duì)加密后的第一摘要值進(jìn)行解密,獲得H(P),最后,基于K2,使用預(yù)設(shè)的加密算法,對(duì)H(P)重新進(jìn)行加密,得到重新加密后的第一摘要值為
也就是說(shuō),系統(tǒng)會(huì)根據(jù)預(yù)設(shè)的周期,定時(shí)生成新的密鑰,并使用新的密鑰對(duì)用戶口令的第一摘要值重新進(jìn)行加密。這樣,由于對(duì)用戶口令的第一摘要加密的密鑰是根據(jù)時(shí)間動(dòng)態(tài)變化的,因此,可以有效防止非法用戶獲得整個(gè)數(shù)據(jù)庫(kù)后進(jìn)行數(shù)據(jù)分析來(lái)破解用戶口令,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性。
進(jìn)一步地,基于上述實(shí)施例,相應(yīng)地,在用戶認(rèn)證時(shí),包括:
首先,接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算上述用戶口令的第二摘要值。
也就是說(shuō),在認(rèn)證時(shí),例如,用戶登錄某個(gè)網(wǎng)站,輸入用戶名和用戶口令(即密碼),系統(tǒng)需要對(duì)用戶口令進(jìn)行認(rèn)證,即判斷是否與系統(tǒng)中當(dāng)前存儲(chǔ)的該用戶名對(duì)應(yīng)的用戶口令一致,這時(shí),就需要根據(jù)用戶口令存儲(chǔ)的方法,采用相同的方法,相應(yīng)地來(lái)對(duì)用戶口令進(jìn)行認(rèn)證。
例如,用戶認(rèn)證時(shí),輸入的用戶口令為P1,根據(jù)預(yù)設(shè)的摘要算法,計(jì)算獲得的該用戶口令P1的第一摘要值為H(P1)。
其中,這里的預(yù)設(shè)的摘要算法和步驟100中預(yù)設(shè)的摘要算法是相同的。
然后,根據(jù)當(dāng)前的第三時(shí)間和上述初始密鑰,生成當(dāng)前的第三密鑰,并基于上述當(dāng)前的第三密鑰對(duì)上述第二摘要值進(jìn)行加密。
例如,初始密鑰為K0,當(dāng)前的第三時(shí)間為6h,則根據(jù)K0和6h生成當(dāng)前的第三密鑰為K3,基于K3,使用預(yù)設(shè)的加密算法,對(duì)H(P1)進(jìn)行加密,得到加密后的第二摘要值為
最后,將加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
例如,由于系統(tǒng)也會(huì)定時(shí)對(duì)加密后的第一摘要值進(jìn)行更新,根據(jù)上述實(shí)施例,假設(shè)當(dāng)前系統(tǒng)中存儲(chǔ)的加密后的第一摘要值為則將與進(jìn)行比較,確定一致時(shí),就可以確定P=P1,即判定認(rèn)證通過(guò)了。
這是因?yàn)?,用戶口令認(rèn)證和存儲(chǔ)時(shí),初始密鑰是相同的,使用相同的摘要算法和加密算法,系統(tǒng)又會(huì)根據(jù)時(shí)間來(lái)定時(shí)更新加密后的第一摘要值,因此,當(dāng)認(rèn)證時(shí),對(duì)認(rèn)證時(shí)輸入的用戶口令的摘要值進(jìn)行加密的密鑰和對(duì)系統(tǒng)中存儲(chǔ)的用戶口令的摘要值進(jìn)行加密的密鑰也是相同的,因此,本發(fā)明實(shí)施例,也可以有效正確地完成認(rèn)證過(guò)程。
進(jìn)一步地,在認(rèn)證過(guò)程中,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值不一致時(shí),還包括:
首先,根據(jù)當(dāng)前的第三時(shí)間和上述預(yù)設(shè)的周期,計(jì)算相對(duì)于上述當(dāng)前的第三時(shí)間的前一個(gè)時(shí)間和后一個(gè)時(shí)間。
例如,當(dāng)前的第三時(shí)間為8h,預(yù)設(shè)周期為1h,則相對(duì)于8h的前一個(gè)時(shí)間和后一個(gè)時(shí)間分別為7h和9h。
然后,基于上述前一個(gè)時(shí)間、上述后一個(gè)時(shí)間和上述初始密鑰,分別生成前一個(gè)時(shí)間對(duì)應(yīng)的第四密鑰和后一個(gè)時(shí)間對(duì)應(yīng)的第五密鑰,并分別基于上述第四密鑰和第五密鑰對(duì)上述第二摘要值重新進(jìn)行加密。
最后,分別將重新加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定至少有一個(gè)重新加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
這是因?yàn)?,?dāng)確定不一致時(shí),一種原因是輸入的用戶口令不一致,還有一種原因是可能系統(tǒng)正在對(duì)當(dāng)前的密鑰進(jìn)行更新的過(guò)程中,即對(duì)加密后的第一摘要值進(jìn)行更新的過(guò)程中,因此,這時(shí)就需要基于當(dāng)前的第三時(shí)間和預(yù)設(shè)周期,來(lái)得到前一個(gè)時(shí)間和后一個(gè)時(shí)間,再分別計(jì)算相應(yīng)的密鑰,進(jìn)而分別對(duì)第二摘要值進(jìn)行加密,最后分別進(jìn)行比較,這樣,可以進(jìn)一步提高認(rèn)證的準(zhǔn)確性。
基于上述實(shí)施例,參閱圖2所示,本發(fā)明實(shí)施例中,用戶口令存儲(chǔ)的裝置,具體包括:
第一計(jì)算單元20,用于接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;
第一加密單元21,用于根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;
存儲(chǔ)單元22,用于將加密后的第一摘要值進(jìn)行存儲(chǔ)。
較佳的,將加密后的第一摘要值進(jìn)行存儲(chǔ)之后,進(jìn)一步包括:
更新單元23,用于根據(jù)預(yù)設(shè)的周期,對(duì)加密后的第一摘要值進(jìn)行更新。
較佳的,對(duì)加密后的第一摘要值進(jìn)行更新時(shí),更新單元23具體用于:
根據(jù)當(dāng)前的第二時(shí)間和所述初始密鑰,生成當(dāng)前的第二密鑰;
基于所述當(dāng)前的第一密鑰,對(duì)所述加密后的第一摘要值進(jìn)行解密,獲得所述第一摘要值;
基于所述當(dāng)前的第二密鑰對(duì)所述第一摘要值重新進(jìn)行加密,并將重新加密后的第一摘要值進(jìn)行存儲(chǔ)。
較佳的,進(jìn)一步包括:
第二計(jì)算單元24,用于接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第二摘要值;
第二加密單元25,用于根據(jù)當(dāng)前的第三時(shí)間和所述初始密鑰,生成當(dāng)前的第三密鑰,并基于所述當(dāng)前的第三密鑰對(duì)所述第二摘要值進(jìn)行加密;
第一認(rèn)證單元26,用于將加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
較佳的,當(dāng)確定加密后的第二摘要值和重新加密后的第一摘要值不一致時(shí),進(jìn)一步包括:
第三計(jì)算單元27,用于根據(jù)當(dāng)前的第三時(shí)間和所述預(yù)設(shè)的周期,計(jì)算相對(duì)于所述當(dāng)前的第三時(shí)間的前一個(gè)時(shí)間和后一個(gè)時(shí)間;
第三加密單元28,用于基于所述前一個(gè)時(shí)間、所述后一個(gè)時(shí)間和所述初始密鑰,分別生成前一個(gè)時(shí)間對(duì)應(yīng)的第四密鑰和后一個(gè)時(shí)間對(duì)應(yīng)的第五密鑰,并分別基于所述第四密鑰和所述第五密鑰對(duì)所述第二摘要值重新進(jìn)行加密;
第二認(rèn)證單元29,用于分別將重新加密后的第二摘要值和重新加密后的第一摘要值進(jìn)行比較,當(dāng)確定至少有一個(gè)重新加密后的第二摘要值和重新加密后的第一摘要值一致時(shí),判定認(rèn)證通過(guò)。
綜上所述,本發(fā)明實(shí)施例中,接收用戶輸入的用戶口令,并根據(jù)預(yù)設(shè)的摘要算法,計(jì)算所述用戶口令的第一摘要值;根據(jù)當(dāng)前的第一時(shí)間和預(yù)設(shè)的初始密鑰,生成當(dāng)前的第一密鑰,并基于所述當(dāng)前的第一密鑰對(duì)所述第一摘要值進(jìn)行加密;將加密后的第一摘要值進(jìn)行存儲(chǔ),這樣,存儲(chǔ)的不僅僅簡(jiǎn)單地是用戶口令的摘要值,而是,對(duì)用戶口令的摘要值又進(jìn)行了加密,存儲(chǔ)的是加密后的用戶口令的摘要值,進(jìn)一步提高了用戶口令存儲(chǔ)的安全性,提高了用戶的信息安全。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。