本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)加密方法及裝置。
背景技術(shù):
數(shù)據(jù)加密是指通過加密算法和加密密鑰將明文轉(zhuǎn)變?yōu)槊芪?,而解密則是通過解密算法和解密密鑰將密文恢復(fù)為明文。隨著人們對個人隱私的保護(hù)日漸重視,越來越多的人需要的對自己的私人數(shù)據(jù)信息進(jìn)行保護(hù),尤其是隨著智能移動終端的盛行,該終端不在只是一個簡單的通信工具,里面可能保存各種重要文件,當(dāng)對該些重要文件進(jìn)行加密時通常采用的方式是,先選定需要加密的文件或者文件夾,之后通過系統(tǒng)設(shè)定的加密按鍵進(jìn)行加密,以保證數(shù)據(jù)信息的安全。
在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有的數(shù)據(jù)加密方法是對整個文件或文件夾加密,存儲的文件或文件夾越大,對其加密所需要花費(fèi)的時間就越長;相應(yīng)地,對文件解密所花費(fèi)的時間也會越長,導(dǎo)致數(shù)據(jù)加解密需要占用大量運(yùn)算能力,進(jìn)而導(dǎo)致系統(tǒng)響應(yīng)速度的整體降低。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的數(shù)據(jù)加密方法及裝置。
本發(fā)明的一個方面,提供了一種數(shù)據(jù)加密方法,包括:
從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段;
根據(jù)預(yù)設(shè)加密算法對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,得到對應(yīng)的加密字符串;
調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串;
將所述待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,實(shí)現(xiàn)數(shù)據(jù)的加密。
可選地,所述從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段,包括:
選取所述待加密數(shù)據(jù)中的位于固定位置的數(shù)據(jù)段和/或用戶指定的數(shù)據(jù)段作為所述目標(biāo)數(shù)據(jù)段。
可選地,所述根據(jù)預(yù)設(shè)加密算法對選取的所述目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,包括:
采用消息摘要加密算法對所述目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算。
可選地,所述調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串,包括:
根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序;
對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,得到目標(biāo)字符串。
可選地,所述根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序,包括:
對所述加密字符串進(jìn)行第二循環(huán)位移編碼;
將編碼后的字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若編碼后的字符串中字符個數(shù)為單數(shù),則保留最后一位不變;
將位置調(diào)換后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
可選地,所述根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序,包括:
將所述加密字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若所述加密字符串中字符個數(shù)為單數(shù),則保留最后一位不變;
對位置調(diào)換后的字符串進(jìn)行第三循環(huán)位移編碼;
將編碼后的后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
可選地,所述對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,包括:
采用rot13編碼方式對字符排列順序調(diào)整后的字符串進(jìn)行循環(huán)位移編碼。
本發(fā)明的另一個方面,提供了一種數(shù)據(jù)加密裝置,包括:
數(shù)據(jù)選取模塊,用于從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段;
數(shù)據(jù)加密模塊,用于根據(jù)預(yù)設(shè)加密算法對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,得到對應(yīng)的加密字符串;
順序調(diào)整模塊,用于調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串;
數(shù)據(jù)替換模塊,用于將所述待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,實(shí)現(xiàn)數(shù)據(jù)的加密。
可選地,所述數(shù)據(jù)選取模塊,具體用于選取所述待加密數(shù)據(jù)中的位于固定位置的數(shù)據(jù)段和/或用戶指定的數(shù)據(jù)段作為所述目標(biāo)數(shù)據(jù)段。
可選地,所述順序調(diào)整模塊,包括:
順序調(diào)整單元,用于根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序;
第一編碼單元,用于對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,得到目標(biāo)字符串。
本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法及裝置,通過對待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,并對加密運(yùn)算后的加密字符串的字符排列順序進(jìn)行調(diào)整,得到目標(biāo)字符串,然后將待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,進(jìn)而快速地實(shí)現(xiàn)數(shù)據(jù)的加密操作,有效地防止惡意程序?qū)用軘?shù)據(jù)的暴力破解,提高數(shù)據(jù)安全性。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1為本發(fā)明實(shí)施例的一種數(shù)據(jù)加密方法的流程圖;
圖2為本發(fā)明實(shí)施例的一種數(shù)據(jù)加密方法中步驟s13的細(xì)分流程圖;
圖3為本發(fā)明實(shí)施例的一種數(shù)據(jù)加密裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例的一種數(shù)據(jù)加密裝置中順序調(diào)整模塊的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非被特定定義,否則不會用理想化或過于正式的含義來解釋。
圖1示意性示出了本發(fā)明一個實(shí)施例的數(shù)據(jù)加密方法的流程圖。參照圖1,本發(fā)明實(shí)施例的數(shù)據(jù)加密方法具體包括以下步驟:
步驟s11、從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段;
步驟s12、根據(jù)預(yù)設(shè)加密算法對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,得到對應(yīng)的加密字符串;
步驟s13、調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串;
步驟s14、將所述待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,實(shí)現(xiàn)數(shù)據(jù)的加密。
本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法,通過對待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,并對加密運(yùn)算后的加密字符串的字符排列順序進(jìn)行調(diào)整,得到目標(biāo)字符串,然后將待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,進(jìn)而快速地實(shí)現(xiàn)數(shù)據(jù)的加密操作,有效地防止惡意程序?qū)用軘?shù)據(jù)的暴力破解,提高數(shù)據(jù)安全性。
本發(fā)明實(shí)施例中,步驟s11中的從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段,具體包括:選取所述待加密數(shù)據(jù)中的位于固定位置的數(shù)據(jù)段和/或用戶指定的數(shù)據(jù)段作為所述目標(biāo)數(shù)據(jù)段。
在具體實(shí)現(xiàn)本步驟的過程中,待加密數(shù)據(jù)可以是涉及系統(tǒng)數(shù)據(jù);或者是涉及用戶的個人隱私數(shù)據(jù),例如:照片、視頻、日志以及用戶的cookie信息等等。待加密數(shù)據(jù)中目標(biāo)數(shù)據(jù)段的選取方法可以有多種方式實(shí)現(xiàn),下面僅給出幾種具體實(shí)現(xiàn)方式的示例,用以對本發(fā)明步驟的說明。
選取目標(biāo)數(shù)據(jù)段的第一具體實(shí)現(xiàn)方式:識別待加密數(shù)據(jù)對應(yīng)的數(shù)據(jù)類型,并根據(jù)數(shù)據(jù)類型選定目標(biāo)數(shù)據(jù)段位于該待加密數(shù)據(jù)的固定位置,以便之后根據(jù)所述固定位置對該些目標(biāo)數(shù)據(jù)段進(jìn)行加密。
選取目標(biāo)數(shù)據(jù)段的第二具體實(shí)現(xiàn)方式:是接收用戶對待加密數(shù)據(jù)的目標(biāo)數(shù)據(jù)段的指定。用戶可以將待加密數(shù)據(jù)中的某一段數(shù)據(jù)或某幾段數(shù)據(jù)指定為目標(biāo)數(shù)據(jù)段,以便之后根據(jù)用戶指定對該些目標(biāo)數(shù)據(jù)段進(jìn)行加密。
本實(shí)施例中,以用戶的cookie信息作為待加密數(shù)據(jù)對技術(shù)方案進(jìn)行說明。首先,獲取cookie信息中的用戶uid、用戶密碼、用戶名稱以及當(dāng)前時間戳等數(shù)據(jù)。
在一個具體示例中,假設(shè):
用戶唯一標(biāo)識uid:21311;
用戶密碼:123456;
用戶昵稱:test111;
當(dāng)前時間戳:1488089646。當(dāng)前時間戳,具體為格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù)。
其中,選取所述cookie信息中的目標(biāo)數(shù)據(jù)段,具體為選取用戶密碼字段作為cookie信息的目標(biāo)數(shù)據(jù)段。
本發(fā)明實(shí)施例中,步驟s12中的所述根據(jù)預(yù)設(shè)加密算法對選取的所述目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,具體包括:采用消息摘要加密算法對所述目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算。
本實(shí)施例中,對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密時,加密方法可以通過預(yù)設(shè)加密算法對目標(biāo)數(shù)據(jù)段加密,實(shí)際上可采用的加密的方式可以有多種,在此不再贅述。
本實(shí)施例中,使用md5()加密算法實(shí)現(xiàn)對選取的目標(biāo)數(shù)據(jù)段的加密。
即對用戶密碼:123456采用使用md5()加密算法進(jìn)行加密,得到字符串:e10adc3949ba59abbe56e057f20f883e。
其中,md5():為計算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)的方法。
本發(fā)明實(shí)施例中,如圖2所示,步驟s13中的所述調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串,具體包括:
步驟s131、根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序;
步驟s132、對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,得到目標(biāo)字符串。
在本發(fā)明的一個可選實(shí)施例中,所述根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序,具體包括:
對所述加密字符串進(jìn)行第二循環(huán)位移編碼;
將編碼后的字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若編碼后的字符串中字符個數(shù)為單數(shù),則保留最后一位不變;
將位置調(diào)換后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
本實(shí)施例中,具體通過以下方案實(shí)現(xiàn)對加密字符串的字符排列順序的調(diào)整,具體如下:
首先,顛倒密碼順序,例上面密碼:e10adc3949ba59abbe56e057f20f883e顛倒后得到新字符串:
e388f02f750e65ebba95ab9493cda01e
然后,將上述字符串每兩個調(diào)換一下位子,如果字符串為單數(shù),最后以為不變:
得到新字符串:3e880ff257e056beab59ba4939dc0ae1
然后,獲取字符串的總長度,將總長度除以2向上取整后減1得到新的整數(shù),例:上面字符串總長度為32,(32/2)向上取整得到16,16-1為15;
最后,獲取得到字符串的第一個字符到獲取整數(shù)處的字符,將字符串分為兩個數(shù)據(jù)段,然后前后顛倒兩個數(shù)據(jù)段,拼接新的字符串:
例:得到整數(shù)為15,故將字符串:3e880ff257e056beab59ba4939dc0ae1第1個到第16個組成新的字符串,即前半部分,剩余的組成另一個字符串,即后半部分。
其中,前半部分:3e880ff257e056b,后半部分:eab59ba4939dc0ae1;
拼接后的新字符串:eab59ba4939dc0ae13e880ff257e056b
在本發(fā)明的另一個可選實(shí)施例中,所述根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序,包括:
將所述加密字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若所述加密字符串中字符個數(shù)為單數(shù),則保留最后一位不變;
對位置調(diào)換后的字符串進(jìn)行第三循環(huán)位移編碼;
將編碼后的后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
本實(shí)施例中,通過調(diào)整實(shí)現(xiàn)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序的具體操作的順序,實(shí)現(xiàn)另一種進(jìn)行字符排列順序調(diào)整的實(shí)施例,具體實(shí)現(xiàn)方案如上一實(shí)施例所述,在此不再贅述。
本實(shí)施例中,所述對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,包括:
采用rot13編碼方式對字符排列順序調(diào)整后的字符串進(jìn)行循環(huán)位移編碼。
本實(shí)施例中,調(diào)用php內(nèi)置系統(tǒng)函數(shù)str_rot13()實(shí)現(xiàn)對字符排列順序調(diào)整后的字符串進(jìn)行循環(huán)位移編碼。
str_rot13()用于實(shí)現(xiàn)rot-13編碼。其中,rot-13編碼是一種每一個字母被另一個字母代替的方法。這個代替字母是由原來的字母向前移動13個字母而得到的。數(shù)字和非字母字符保持不變。這個函數(shù)編碼和解碼都是由相同的函數(shù)完成的。如果您把一個已編碼的字符串作為參數(shù),那么將返回原始字符串。
例如:str_rot13(eab59ba4939dc0ae13e880ff257e056b)
得到新的字符串:trno59on4939qp0nr13r880ss257r056o
在得到目標(biāo)字符串之后,本發(fā)明實(shí)施例將用戶uid、目標(biāo)字符串、用戶名稱、當(dāng)前時間戳用\t的方式拼接起來得到新的字符串,完成cookie信息的加密:
21311\trno59on4939qp0nr13r880ss257r056o\ttest111\t1488089646。
對應(yīng)于上述加密算法得到的數(shù)據(jù),可通過以下解密算法實(shí)行數(shù)據(jù)的解密。具體如下:
1、利用php自帶函數(shù)explode()以\t分割成字符串得到用戶uid、用戶打亂處理后的密碼、用戶名稱和時間戳;
例:上述可以解析為:
用戶id:21311
用戶打亂后密碼:rno59on4939qp0nr13r880ss257r056o
用戶昵稱:test111
加密時間戳:1488089646
2、對用戶密碼進(jìn)行打亂處理,打亂規(guī)則對應(yīng)加密算法實(shí)現(xiàn),具體如下;
首先,調(diào)用php內(nèi)置系統(tǒng)函數(shù)str_rot13()進(jìn)行循環(huán)移位。數(shù)字和非字母字符保持不變。這個函數(shù)編碼和解碼都是由相同的函數(shù)完成的。對于一個已編碼的字符串作為參數(shù),那么將返回原始字符串;
例:str_rot13(rno59on4939qp0nr13r880ss257r056o)
得到新的字符串:eab59ba4939dc0ae13e880ff257e056b
然后,獲取字符串的總長度,將總長度除以2向上取整后減1得到新的整數(shù)
例:上面字符串總長度為32(32/2)向上取整得到1616-1為15
然后,獲取得到字符串的第一個字符到獲取整數(shù)處的字符,將字符串分為兩截,然后前后顛倒拼接新的字符串:
例:若得到整數(shù)為15,故將字符串第1個到第16個組成新的字符串,剩余的組成另一個字符串。
前半部分:eab59ba4939dc0ae1,后半部分:3e880ff257e056b
新字符串:3e880ff257e056beab59ba4939dc0ae1
最后,將上述字符串每兩個調(diào)換一下位子,如果字符串為單數(shù),最后以為不變:
例得到新字符串:e388f02f750e65ebba95ab9493cda01e
通過與用戶密碼進(jìn)行md5加密預(yù)算后的字符串相同,實(shí)現(xiàn)數(shù)據(jù)解密。
對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本發(fā)明實(shí)施例所必須的。
圖3示意性示出了本發(fā)明一個實(shí)施例的數(shù)據(jù)加密裝置的結(jié)構(gòu)示意圖。參照圖3,本發(fā)明實(shí)施例的數(shù)據(jù)加密裝置具體包括數(shù)據(jù)選取模塊301、數(shù)據(jù)加密模塊302、順序調(diào)整模塊303以及數(shù)據(jù)替換模塊304,其中,所述的數(shù)據(jù)選取模塊301,用于從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段;所述的數(shù)據(jù)加密模塊302,用于根據(jù)預(yù)設(shè)加密算法對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,得到對應(yīng)的加密字符串;所述的順序調(diào)整模塊303,用于調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串;所述的數(shù)據(jù)替換模塊304,用于將所述待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,實(shí)現(xiàn)數(shù)據(jù)的加密。
本發(fā)明實(shí)施例中,所述的數(shù)據(jù)選取模塊301,具體用于選取所述待加密數(shù)據(jù)中的位于固定位置的數(shù)據(jù)段和/或用戶指定的數(shù)據(jù)段作為所述目標(biāo)數(shù)據(jù)段。
本發(fā)明實(shí)施例中,所述的數(shù)據(jù)加密模塊302,具體用于采用消息摘要加密算法對所述目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算。
本發(fā)明實(shí)施例中,所述順序調(diào)整模塊303,如圖4所示,具體包括順序調(diào)整單元3031和第一編碼單元3032,其中,所述的順序調(diào)整單元3031,用于根據(jù)預(yù)設(shè)規(guī)則調(diào)整所述加密字符串的字符排列順序;所述的第一編碼單元3032,用于對字符排列順序調(diào)整后的字符串進(jìn)行第一循環(huán)位移編碼,得到目標(biāo)字符串。
在本發(fā)明的一個可選實(shí)施例中,所述的順序調(diào)整單元3031,具體用于對所述加密字符串進(jìn)行第二循環(huán)位移編碼;將編碼后的字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若編碼后的字符串中字符個數(shù)為單數(shù),則保留最后一位不變;將位置調(diào)換后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
在本發(fā)明的另一個可選實(shí)施例中,所述的順序調(diào)整單元3031,具體用于將所述加密字符串中每兩個相鄰字符的位置進(jìn)行調(diào)換,若所述加密字符串中字符個數(shù)為單數(shù),則保留最后一位不變;對位置調(diào)換后的字符串進(jìn)行第三循環(huán)位移編碼;將編碼后的后的字符串拆分為至少兩個數(shù)據(jù)段,并將得到的至少兩個數(shù)據(jù)段的位置進(jìn)行互換。
在本發(fā)明的一個可選實(shí)施例中,所述的第一編碼單元3032,具體用于采用rot13編碼方式對字符排列順序調(diào)整后的字符串進(jìn)行循環(huán)位移編碼。
對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
此外,本發(fā)明另一實(shí)施例還提供了一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲器、電路板和電源電路,其中,所述電路板安置在所述殼體圍成的空間內(nèi)部,所述處理器和所述存儲器設(shè)置在所述電路板上;所述電源電路,用于為所述電子設(shè)備的各個電路或器件供電;所述存儲器用于存儲可執(zhí)行程序代碼;所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:從待加密數(shù)據(jù)中選取至少一段目標(biāo)數(shù)據(jù)段;根據(jù)預(yù)設(shè)加密算法對選取的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,得到對應(yīng)的加密字符串;調(diào)整所述加密字符串的字符排列順序,得到目標(biāo)字符串;將所述待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,實(shí)現(xiàn)數(shù)據(jù)的加密。
本發(fā)明實(shí)施例提供的數(shù)據(jù)加密方法及裝置,通過對待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段進(jìn)行加密運(yùn)算,并對加密運(yùn)算后的加密字符串的字符排列順序進(jìn)行調(diào)整,得到目標(biāo)字符串,然后將待加密數(shù)據(jù)中的目標(biāo)數(shù)據(jù)段替換為對應(yīng)的目標(biāo)字符串,進(jìn)而快速地實(shí)現(xiàn)數(shù)據(jù)的加密操作,有效地防止惡意程序?qū)用軘?shù)據(jù)的暴力破解,提高數(shù)據(jù)安全性。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。