專利名稱:一種社交網(wǎng)站用的密碼加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種密碼加密方法,尤其涉及ー種社交網(wǎng)站用的密碼加密方法。
背景技術(shù):
MD5的全稱是Message-Digest Algorithm 5,在90年代初有MIT的計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室和RSA Data Security Inc發(fā)明。MD5將任意長(zhǎng)度的字符串變換呈ー個(gè)128bit的大整數(shù),并且是ー個(gè)不可逆的字符串變換方法。MD5加密模塊就是具有MD5加密功能的模塊?,F(xiàn)有的社交網(wǎng)站通常將密碼直接采用MD5方法進(jìn)行加密。雖然運(yùn)用MD5方法加密是不可逆的,但是現(xiàn)在黑客擁有了數(shù)據(jù)量巨大的MD5原文/密文對(duì)照數(shù)據(jù)庫(kù),能快速破譯常 用密碼的MD5密文,并且社交網(wǎng)站中用戶的密碼基本都是常用密碼,這使得用戶密碼的安全性大大降低了。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供ー種社交網(wǎng)站用的密碼加密方法。該密碼加密方法能夠增加黑客對(duì)密文的破譯難度,以現(xiàn)有的技術(shù)手段難以實(shí)現(xiàn)對(duì)密文的破譯,大大増加了用戶密碼的安全性。為解決上述技術(shù)問(wèn)題,本發(fā)明提供的技術(shù)方案如下ー種社交網(wǎng)站用的密碼加密方法,包括以下步驟A.客戶端與服務(wù)器交流生成密鑰X,然后客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a ;B.客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b ;C.客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文c ;D.客戶端將密鑰X、附加密鑰Y和最終密文c發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。前述的社交網(wǎng)站用的密碼加密方法,步驟A中,所述的通過(guò)客戶端與服務(wù)器交流生成密鑰X,具體是客戶端接收到用戶輸入的密碼字符串P后,將字符串個(gè)數(shù)al發(fā)送至服務(wù)器端,服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,然后將密鑰X返回客戶端。前述的社交網(wǎng)站用的密碼加密方法中,所述的服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,具體是服務(wù)器端根據(jù)字符串個(gè)數(shù)al隨機(jī)生成不大于字符串個(gè)數(shù)al的正數(shù)a2和a3,a2和a3即為密鑰X。前述的社交網(wǎng)站用的密碼加密方法中,所述的客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a,具體是Al.客戶端將字符串個(gè)數(shù)al除以a2后取整加在密碼字符串一端,客戶端將字符串個(gè)數(shù)al除以a3后取整加在密碼字符串另一端,得到中間字符串a(chǎn)5 ;A2.客戶端隨機(jī)生成小于字符串a(chǎn)5中字符個(gè)數(shù)的正整數(shù)N,N即為附加密鑰Y ;
A3.客戶端截取字符串a(chǎn)5中位置連續(xù)的N位字符并加在密碼字符串一端,得到錯(cuò)亂密文a。前述的社交網(wǎng)站用的密碼加密方法,步驟B中,所述的客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b,具體為客戶端利用crypt加密模塊加密錯(cuò)亂密文a,得到中間密文b。前述的社交網(wǎng)站用的密碼加密方法,步驟C中,所述的客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文c,具體為客戶端利用MD5加密模塊加密中間密文b,得到最終密文C。Crypt是基于Data Encryption Standard (DES)的演算法,是一個(gè)不可逆 的加密方法,適用于對(duì)密碼的加密。Crypt加密模塊就是具有Crypt加密功能的模塊。與現(xiàn)有技術(shù)相比,本發(fā)明在現(xiàn)有的MD5加密之前,對(duì)密碼字符串進(jìn)行了強(qiáng)錯(cuò)亂處理,大大降低了被加密字符串的邏輯性,并且在進(jìn)行MD5加密之前還采用了 Crypt加密處理,使得MD5加密的原文是毫無(wú)邏輯關(guān)系的字符串。這導(dǎo)致黑客破譯密文需要全新的,現(xiàn)在還不存在的,數(shù)據(jù)量巨大的原文/密文對(duì)照數(shù)據(jù)庫(kù),大大増加了黑客破譯密文的難度,増加了密碼的安全性。同時(shí),本發(fā)明的加密流程完全在客戶端上進(jìn)行,用戶輸入的密碼字符串完全不經(jīng)過(guò)服務(wù)器,即使黑客攻破了服務(wù)器防火墻,也只能找到密鑰和密文,而不能找到密碼字符串的痕跡,増加了密碼的安全性。
圖I是本發(fā)明的流程圖。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)ー步的說(shuō)明,但并不作為對(duì)本發(fā)明限制的依據(jù)。
具體實(shí)施例方式ー種社交網(wǎng)站用的密碼加密方法,包括以下步驟A.客戶端與服務(wù)器交流生成密鑰X,然后客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a ;B.客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b ;C.客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文c ;D.客戶端將密鑰X、附加密鑰Y和最終密文c發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。步驟A中,所述的通過(guò)客戶端與服務(wù)器交流生成密鑰X,具體是客戶端接收到用戶輸入的密碼字符串P后,將字符串個(gè)數(shù)al發(fā)送至服務(wù)器端,服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,然后將密鑰X返回客戶端。所述的服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,具體是服務(wù)器端根據(jù)字符串個(gè)數(shù)al隨機(jī)生成不大于字符串個(gè)數(shù)al的正數(shù)a2和a3,a2和a3即為密鑰X。所述的客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a,具體是Al.客戶端將字符串個(gè)數(shù)al除以a2后取整加在密碼字符串一端,客戶端將字符串個(gè)數(shù)al除以a3后取整加在密碼字符串另一端,得到中間字符串a(chǎn)5 ;A2.客戶端隨機(jī)生成小于字符串a(chǎn)5中字符個(gè)數(shù)的正整數(shù)N,N即為附加密鑰Y ;A3.客戶端截取字符串a(chǎn)5中位置連續(xù)的N位字符并加在密碼字符串一端,得到錯(cuò)亂密文a。步驟B中,所述的客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b,具體為客戶端利用crypt加密模塊加密錯(cuò)亂密文a,得到中間密文b。步驟C中,所述的客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文C,具體為客戶端利用MD5加密模塊加密中間密文b,得到最終密文C。實(shí)施例I。 ー種社交網(wǎng)站用的密碼加密方法,如圖I所示,包括以下步驟A.客戶端與服務(wù)器交流生成密鑰X,然后客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a ;B.客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b ;C.客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文c ;D.客戶端將密鑰X、附加密鑰Y和最終密文c發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。步驟A具體是客戶端接收到用戶輸入的密碼字符串P后,將字符串個(gè)數(shù)al發(fā)送至服務(wù)器端,月艮務(wù)器端根據(jù)字符串個(gè)數(shù)al隨機(jī)生成不大于字符串個(gè)數(shù)al的正數(shù)a2和a3,a2和a3即為密鑰X,然后將密鑰X返回客戶端??蛻舳藢⒆址畟€(gè)數(shù)al除以a2后取整加在密碼字符串ー端,客戶端將字符串個(gè)數(shù)al除以a3后取整加在密碼字符串另一端,得到中間字符串a(chǎn)5 ;客戶端隨機(jī)生成小于字符串a(chǎn)5中字符個(gè)數(shù)的正整數(shù)N,N即為附加密鑰Y ;客戶端截取字符串a(chǎn)5中位置連續(xù)的N位字符并加在密碼字符串一端,得到錯(cuò)亂密文a。步驟B具體是,客戶端利用crypt加密模塊加密錯(cuò)亂密文a,得到中間密文b。步驟C具體是,客戶端利用MD5加密模塊加密中間密文b,得到最終密文C。步驟D具體是,客戶端將密鑰X、附加密鑰Y和最終密文c發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。下面結(jié)合具體內(nèi)容做進(jìn)一步描述。客戶輸入密碼字符串P “123456”。步驟A,客戶端接收到用戶輸入的密碼字符串P “123456”后,將字符串個(gè)數(shù)al “6”發(fā)送至服務(wù)器端,服務(wù)器端根據(jù)字符串個(gè)數(shù)al “6”隨機(jī)生成不大于字符串個(gè)數(shù)al的正數(shù)a2 “4”和a3 “5. 5”,a2 “4”和a3 “5. 5”即為密鑰X,然后將密鑰X返回客戶端。客戶端將字符串個(gè)數(shù)al “6”除以a2 “4”后取整加在密碼字符串首端,客戶端將字符串個(gè)數(shù)al “6”除以a3 “5. 5”后取整加在密碼字符串尾端,得到中間字符串a(chǎn)5 “11234561” ;客戶端隨機(jī)生成小于字符串a(chǎn)5中字符個(gè)數(shù)8的正整數(shù)N “5”,N即為附加密鑰Y ;客戶端截取字符串a(chǎn)5中位置連續(xù)的5位字符并加在密碼字符串首端,得到錯(cuò)亂密文a “11234123456”。步驟B,客戶端利用crypt加密模塊加密錯(cuò)亂密文a “ 11234123456”,得到中間密文 b “$l$bD0.Ii3. $5it0nMf6tC5Zw81V印Xc70”。步驟C,客戶端利用MD5加密模塊加密中間密文b “$l$bD0.Ii3. $5it0nMf6tC5Zw81V印Xc70”,得到最終密文 c “bbe624819466bfa098509f52459466db”。步驟D,客戶端將密鑰X (包含a2和a3)、附加密鑰Y (包含N)和最終密文c “bbe624819466bfa098509f52459466db”發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。當(dāng)用戶需要驗(yàn)證密碼時(shí),服務(wù)器端將該用戶對(duì)應(yīng)的密鑰及附加密鑰發(fā)送至客戶端,然后客戶端利用既定的密鑰及附加密鑰的對(duì)用戶輸入的字符串進(jìn)行加密,并將加密后的密文發(fā)送至服務(wù)器端,若服務(wù)器驗(yàn)證加密后的密文與最終密文c 一致,則驗(yàn)證成功。·
權(quán)利要求
1.ー種社交網(wǎng)站用的密碼加密方法,其特征在于,包括以下步驟 A.客戶端與服務(wù)器交流生成密鑰X,然后客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a ; B.客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b; C.客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文c; D.客戶端將密鑰X、附加密鑰Y和最終密文c發(fā)送至服務(wù)器端,服務(wù)器端儲(chǔ)存密鑰X、附加密鑰Y和最終密文C。
2.根據(jù)權(quán)利要求I所述的社交網(wǎng)站用的密碼加密方法,其特征在于步驟A中,所述的通過(guò)客戶端與服務(wù)器交流生成密鑰X,具體是客戶端接收到用戶輸入的密碼字符串P后,將字符串個(gè)數(shù)al發(fā)送至服務(wù)器端,服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,然后將密鑰X返回客戶端。
3.根據(jù)權(quán)利要求2所述的社交網(wǎng)站用的密碼加密方法,其特征在于所述的服務(wù)器端根據(jù)字符串個(gè)數(shù)al生成密鑰X,具體是服務(wù)器端根據(jù)字符串個(gè)數(shù)al隨機(jī)生成不大于字符串個(gè)數(shù)al的正數(shù)a2和a3,a2和a3即為密鑰X。
4.根據(jù)權(quán)利要求3所述的社交網(wǎng)站用的密碼加密方法,其特征在于所述的客戶端利用密鑰X及用戶輸入的密碼產(chǎn)生附加密鑰Y,并利用密鑰X及附加密鑰Y對(duì)用戶輸入的密碼進(jìn)行強(qiáng)錯(cuò)亂,產(chǎn)生錯(cuò)亂密文a,具體是 Al.客戶端將字符串個(gè)數(shù)al除以a2后取整加在密碼字符串一端,客戶端將字符串個(gè)數(shù)al除以a3后取整加在密碼字符串另一端,得到中間字符串a(chǎn)5 ; A2.客戶端隨機(jī)生成小于字符串a(chǎn)5中字符個(gè)數(shù)的正整數(shù)N,N即為附加密鑰Y ; A3.客戶端截取字符串a(chǎn)5中位置連續(xù)的N位字符并加在密碼字符串一端,得到錯(cuò)亂密又a。
5.根據(jù)權(quán)利要求I所述的社交網(wǎng)站用的密碼加密方法,其特征在于步驟B中,所述的客戶端對(duì)錯(cuò)亂密文a進(jìn)行第一次非線性不可逆加密,產(chǎn)生中間密文b,具體為客戶端利用crypt加密模塊加密錯(cuò)亂密文a,得到中間密文b。
6.根據(jù)權(quán)利要求I所述的社交網(wǎng)站用的密碼加密方法,其特征在于步驟C中,所述的客戶端對(duì)中間密文b進(jìn)行第二次非線性不可逆加密,產(chǎn)生最終密文C,具體為客戶端利用MD5加密模塊加密中間密文b,得到最終密文C。
全文摘要
本發(fā)明公開(kāi)了一種社交網(wǎng)站用的密碼加密方法,在現(xiàn)有的MD5加密之前,對(duì)密碼字符串進(jìn)行了強(qiáng)錯(cuò)亂,大大降低了被加密字符串的邏輯性,并且在進(jìn)行MD5加密之前還采用了Crypt加密處理,使得MD5加密的原文是毫無(wú)邏輯關(guān)系的字符串。這導(dǎo)致黑客破譯密文需要全新的,現(xiàn)在還不存在的,數(shù)據(jù)大巨大的原文/密文對(duì)照數(shù)據(jù)庫(kù),大大增加了黑客破譯密文的難度,增加了密碼的安全性。同時(shí),本發(fā)明的加密流程完全在客戶端上進(jìn)行,用戶輸入的密碼字符串完全不經(jīng)過(guò)服務(wù)器,即使黑客攻破了服務(wù)器防火墻,也只能找到密鑰和密文,而不能找到密碼字符串的痕跡,增加了密碼的安全性。
文檔編號(hào)H04L29/06GK102710416SQ20121019574
公開(kāi)日2012年10月3日 申請(qǐng)日期2012年6月14日 優(yōu)先權(quán)日2012年6月14日
發(fā)明者陳佳利 申請(qǐng)人:上海端口商務(wù)咨詢有限公司