本發(fā)明涉及信息技術(shù)、安全技術(shù),特別是一種基于md5的少量數(shù)據(jù)對(duì)稱(chēng)加密方法。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,信息技術(shù)影響著人們生活的各個(gè)方面,隨之而來(lái)的安全性的要求也就越來(lái)越高,人們對(duì)信息的保密性要求也越來(lái)越高,應(yīng)用數(shù)據(jù)加密技術(shù),保證了人們?cè)诨顒?dòng)中對(duì)自己的數(shù)據(jù)和一些相關(guān)資料的保密的要求,保證了信息技術(shù)的安全性和保密性。現(xiàn)在主流的數(shù)據(jù)對(duì)稱(chēng)加密方法有des、aes等,對(duì)于少量數(shù)據(jù)加密,使用des、aes等加密顯得過(guò)于沉重。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,提供一種輕便的方法,應(yīng)對(duì)少量數(shù)據(jù)的對(duì)稱(chēng)加密。
實(shí)現(xiàn)本發(fā)明的方案為:提供一種基于md5的少量數(shù)據(jù)對(duì)稱(chēng)加密方法,其特征是包括:實(shí)時(shí)生成的非重復(fù)md5基礎(chǔ)數(shù)據(jù)、明文、密鑰組標(biāo)志、密鑰組、密文。
進(jìn)一步的,實(shí)時(shí)生成的非重復(fù)md5基礎(chǔ)數(shù)據(jù)為32位16進(jìn)制數(shù),可通過(guò)將實(shí)時(shí)時(shí)間戳數(shù)據(jù)進(jìn)行md5運(yùn)算生成。
進(jìn)一步的,明文只能為16進(jìn)制以?xún)?nèi)數(shù)據(jù),且必須有固定最大位數(shù),最大位數(shù)不能超過(guò)md5基礎(chǔ)數(shù)據(jù)的長(zhǎng)度,加密時(shí)明文應(yīng)對(duì)齊固定最大位數(shù),實(shí)際數(shù)據(jù)不足最大位數(shù)時(shí)高位補(bǔ)0,明文最大位數(shù)越少,加密效果越好,明文最大位數(shù)越多,加密效果越差。
進(jìn)一步的,通過(guò)密鑰組標(biāo)志,形成多套密鑰組,增加密文的多樣性,增加加密的破解難度,密鑰組標(biāo)志從md5基礎(chǔ)數(shù)據(jù)中選取。
進(jìn)一步的,每套密鑰組是由多個(gè)密鑰組成的數(shù)據(jù)組,加密時(shí)根據(jù)密鑰組標(biāo)志選擇對(duì)應(yīng)的密鑰組;密鑰組中的密鑰與明文的每位數(shù)據(jù)一一對(duì)應(yīng),故每套密鑰組中的密鑰數(shù)量與明文最大位數(shù)相同;密鑰的實(shí)質(zhì)為md5基礎(chǔ)數(shù)據(jù)的下標(biāo),故取值范圍為0至31,卻不能重復(fù),不能與密鑰組標(biāo)志沖突;數(shù)據(jù)加密時(shí),按密鑰把md5基礎(chǔ)數(shù)據(jù)上對(duì)應(yīng)位置的數(shù)據(jù)置換為明文對(duì)應(yīng)位置數(shù)據(jù)。
進(jìn)一步的,經(jīng)過(guò)加密處理后,密文看起來(lái)依然像md5基礎(chǔ)數(shù)據(jù)。
本發(fā)明的優(yōu)點(diǎn)是:主流程序開(kāi)發(fā)語(yǔ)言都提供了md5運(yùn)算,本發(fā)明按照密鑰組,將明文數(shù)據(jù)拆分置換在md5基礎(chǔ)數(shù)據(jù)中,以達(dá)到對(duì)稱(chēng)加密效果,程序算法輕便簡(jiǎn)單,加密結(jié)果穩(wěn)定可靠。
具體實(shí)施方式
本發(fā)明提供一種基于md5的少量數(shù)據(jù)對(duì)稱(chēng)加密方法,其特征是包括:實(shí)時(shí)生成的非重復(fù)md5基礎(chǔ)數(shù)據(jù)、明文、密鑰組標(biāo)志、密鑰組、密文。
作為上述方案的改進(jìn),實(shí)時(shí)生成的非重復(fù)md5基礎(chǔ)數(shù)據(jù)為32位16進(jìn)制數(shù),可通過(guò)將實(shí)時(shí)時(shí)間戳數(shù)據(jù)進(jìn)行md5運(yùn)算生成。
作為上述方案的改進(jìn),明文只能為16進(jìn)制以?xún)?nèi)數(shù)據(jù),且必須有固定最大位數(shù),最大位數(shù)不能超過(guò)md5基礎(chǔ)數(shù)據(jù)的長(zhǎng)度,加密時(shí)明文應(yīng)對(duì)齊固定最大位數(shù),實(shí)際數(shù)據(jù)不足最大位數(shù)時(shí)高位補(bǔ)0,明文最大位數(shù)越少,加密效果越好,明文最大位數(shù)越多,加密效果越差。
作為上述方案的改進(jìn),通過(guò)密鑰組標(biāo)志,形成多套密鑰組,增加密文的多樣性,增加加密的破解難度,密鑰組標(biāo)志從md5基礎(chǔ)數(shù)據(jù)中選取。
作為上述方案的改進(jìn),每套密鑰組是由多個(gè)密鑰組成的數(shù)據(jù)組,加密時(shí)根據(jù)密鑰組標(biāo)志選擇對(duì)應(yīng)的密鑰組;密鑰組中的密鑰與明文的每位數(shù)據(jù)一一對(duì)應(yīng),故每套密鑰組中的密鑰數(shù)量與明文最大位數(shù)相同;密鑰的實(shí)質(zhì)為md5基礎(chǔ)數(shù)據(jù)的下標(biāo),故取值范圍為0至31,卻不能重復(fù),不能與密鑰組標(biāo)志沖突;數(shù)據(jù)加密時(shí),按密鑰把md5基礎(chǔ)數(shù)據(jù)上對(duì)應(yīng)位置的數(shù)據(jù)置換為明文對(duì)應(yīng)位置數(shù)據(jù)。
作為上述方案的改進(jìn),經(jīng)過(guò)加密處理后,密文看起來(lái)依然像md5基礎(chǔ)數(shù)據(jù)。
具體來(lái)說(shuō),先將實(shí)時(shí)時(shí)間戳數(shù)據(jù)進(jìn)行md5運(yùn)算得到32位16進(jìn)制的md5基礎(chǔ)數(shù)據(jù),此md5基礎(chǔ)數(shù)據(jù)每毫秒可產(chǎn)生一次,極大的降低了密文的重復(fù)性,增強(qiáng)了混淆度。
在md5基礎(chǔ)數(shù)據(jù)中選取固定一位或多位數(shù)據(jù)作為密鑰組標(biāo)志,根據(jù)密鑰組標(biāo)志和實(shí)際情況,預(yù)定一套或多套密鑰組。
預(yù)定密鑰組的實(shí)質(zhì)是,為明文的每位數(shù)據(jù)對(duì)應(yīng)綁定md5基礎(chǔ)數(shù)據(jù)的下標(biāo)作為密鑰,這些密鑰組成的數(shù)據(jù)組就是一套密鑰組。
根據(jù)實(shí)際密鑰組標(biāo)志,采用對(duì)應(yīng)的密鑰組進(jìn)行加密,按照明文、密鑰、md5基礎(chǔ)數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,將md5基礎(chǔ)數(shù)據(jù)上對(duì)應(yīng)位置的數(shù)據(jù)置換為明文對(duì)應(yīng)位置數(shù)據(jù),加密完成后的32位16進(jìn)制數(shù)據(jù)就是最終密文,此密文看起來(lái)依然像md5基礎(chǔ)數(shù)據(jù),只是密鑰對(duì)應(yīng)位置被置換為了明文數(shù)據(jù),密文可以直接進(jìn)行通信傳輸。
解密時(shí),根據(jù)實(shí)際密鑰組標(biāo)志,采用對(duì)應(yīng)的密鑰組進(jìn)行解密,按照明文、密鑰、md5基礎(chǔ)數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,將密文中對(duì)應(yīng)位置的數(shù)據(jù)提取出來(lái),拼接還原出明文數(shù)據(jù),操作簡(jiǎn)單方便。