專利名稱:一種基于電子收款機(jī)的流水記錄的壓縮加密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)的壓縮及加密領(lǐng)域,特別是一種基于電子收款機(jī)的流水記錄的壓縮加密方法。
背景技術(shù):
傳統(tǒng)的電子收款機(jī)的流水記錄的內(nèi)容都是每條記錄單獨(dú)存儲(chǔ)在存儲(chǔ)器中的,每個(gè)字符占用一個(gè)字節(jié)的存儲(chǔ)空間,由于銷售記錄的數(shù)據(jù)內(nèi)容多,存儲(chǔ)量大的特點(diǎn),導(dǎo)致電子收款機(jī)需要大量的存儲(chǔ)空間來存儲(chǔ)流水記錄,在系統(tǒng)運(yùn)行的過程中,不管是時(shí)間復(fù)雜度還是空間復(fù)雜度都非常低。傳統(tǒng)的電子收款機(jī),對(duì)數(shù)據(jù)的處理經(jīng)常是直接存儲(chǔ)在某一個(gè)存儲(chǔ)區(qū)中,應(yīng)用層的代碼不允許對(duì)這個(gè)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行修改和刪除。但是因?yàn)椴还苡涗浀膬?nèi)容是否健全,每條銷售記錄都運(yùn)用有序定長的存儲(chǔ)空間來靜態(tài)存儲(chǔ)數(shù)據(jù),只要知道了流水記錄的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),就可輕松破解收款機(jī)中的數(shù)據(jù)信息。而且采用這種方式,不法分子容易對(duì)數(shù)據(jù)進(jìn)行擦除和更改,例如當(dāng)通過內(nèi)存拷貝等方式將數(shù)據(jù)讀出之后,只要知道其數(shù)據(jù)的存數(shù)格式就可以對(duì)其進(jìn)行簡單的修改。因此,目前的電子收款機(jī)的流水記錄文件的方式不僅占用大量的存儲(chǔ)空間,而且數(shù)據(jù)安全性低,容易泄露信息或者被篡改數(shù)據(jù)。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問題,本發(fā)明的目的是提供一種節(jié)約存儲(chǔ)空間且數(shù)據(jù)安全性高的基于電子收款機(jī)的流水記錄的壓縮加密方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于電子收款機(jī)的流水記錄的壓縮加密方法,包括:
51、創(chuàng)建一個(gè)字符集,所述字符集包括字符數(shù)組char[N]以及編碼數(shù)組data [N],且編碼數(shù)組data[N]的元素值為:
data[i]=i
其中,N表示字符數(shù)組char [N]以及編碼數(shù)組data[N]的元素個(gè)數(shù),i為0、1、2、3……
N-1 ;
52、將收款文件的各字段的名稱按順序依次添加到字符數(shù)組char[N]中,同時(shí),相應(yīng)地令N的值依次遞增I ;
53、搜索收款文件的各字段的內(nèi)容,將各字段的所有字符按照設(shè)定的規(guī)則加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I ;
54、對(duì)編碼數(shù)組data[N]和字符數(shù)組char [N]建立對(duì)應(yīng)關(guān)系,進(jìn)而以編碼數(shù)組data[N]的元素對(duì)收款文件進(jìn)行替換處理,并得到數(shù)據(jù)文件;
55、根據(jù)元素個(gè)數(shù)N的值, 選取動(dòng)態(tài)壓縮系數(shù)P;
56、根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件;
所述收款文件指電子收款機(jī)的流水記錄文件。
進(jìn)一步,所述步驟S2,其具體為:
52、從所述字符集的字符數(shù)組char[N]的第一個(gè)元素開始,將收款文件的各字段的名稱按出現(xiàn)的順序,依次添加到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。進(jìn)一步,所述步驟S3,其具體為:
53、搜索收款文件的各字段的內(nèi)容,首先將數(shù)字字符按照數(shù)字順序依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增1,然后將各字段的所有其它字符按照出現(xiàn)的頻率,以字符或字符串為單位,依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。進(jìn)一步,所述步驟S5,其具體為:
55、根據(jù)元素個(gè)數(shù)N的值以及以下公式:
264=Nx
計(jì)算出X的值,并判斷X是否為整數(shù),當(dāng)X為整數(shù)時(shí),選取X作為動(dòng)態(tài)壓縮系數(shù)P,當(dāng)X不是整數(shù)時(shí),對(duì)X取整數(shù)后,將得到的結(jié)果作為動(dòng)態(tài)壓縮系數(shù)P。進(jìn)一步,所述步驟S6,其具體為:
56、根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,將每P個(gè)數(shù)據(jù)作為一組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件。本發(fā)明的有益效果是:本發(fā)明的一種基于電子收款機(jī)的流水記錄的壓縮加密方法,根據(jù)字符的出現(xiàn)頻率或數(shù)字順序進(jìn)行排序,并采用數(shù)字編碼來表示,進(jìn)而用數(shù)字編碼代表字符,對(duì)收款文件進(jìn)行替換處理后獲得數(shù)據(jù)文件,實(shí)現(xiàn)對(duì)收款文件的第一次壓縮。進(jìn)而選擇動(dòng)態(tài)壓縮系數(shù)對(duì)數(shù)據(jù)文件進(jìn)行分組,并對(duì)每組的數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件。本方法可節(jié)約收款文件的存儲(chǔ)空間,而且通過選擇動(dòng)態(tài)壓縮系數(shù)進(jìn)行動(dòng)態(tài)壓縮加密,數(shù)據(jù)安全性高,可防止信息外漏。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。圖1是本發(fā)明的一種基于電子收款機(jī)的流水記錄的壓縮加密方法的流程 圖2是本發(fā)明的壓縮加密方法的具體實(shí)施例的收款文件的示意 圖3是本發(fā)明的壓縮加密方法的具體實(shí)施例中所獲得的字符集的示意 圖4是本發(fā)明的壓縮加密方法的具體實(shí)施例中對(duì)收款文件進(jìn)行替換處理后得到的數(shù)據(jù)文件的示意 圖5是本發(fā)明的壓縮加密方法的具體實(shí)施例中對(duì)數(shù)據(jù)文件進(jìn)行壓縮加密的示意圖。
具體實(shí)施例方式參照?qǐng)D1,本發(fā)明提供了一種基于電子收款機(jī)的流水記錄的壓縮加密方法,包括:
S1、創(chuàng)建一個(gè)字符集,所述字符集包括字符數(shù)組char [N]以及編碼數(shù)組data [N],且編
碼數(shù)組data[N]的元素值為: data[i]=i
其中,N表示字符數(shù)組char [N]以及編碼數(shù)組data[N]的元素個(gè)數(shù),i為0、1、2、3……N-1 ;貝丨J data[1-l]表示編碼數(shù)組data [N]的第i個(gè)元素;
52、將收款文件的各字段的名稱按順序依次添加到字符數(shù)組char[N]中,同時(shí),相應(yīng)地令N的值依次遞增I ;
53、搜索收款文件的各字段的內(nèi)容,將各字段的所有字符按照設(shè)定的規(guī)則加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I ;
54、對(duì)編碼數(shù)組data[N]和字符數(shù)組char [N]建立對(duì)應(yīng)關(guān)系,進(jìn)而以編碼數(shù)組data[N]的元素對(duì)收款文件進(jìn)行替換處理,并得到數(shù)據(jù)文件;
55、根據(jù)元素個(gè)數(shù)N的值,選取動(dòng)態(tài)壓縮系數(shù)P;
56、根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件;
所述收款文件指電子收款機(jī)的流水記錄文件。進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S2,其具體為:
52、從所述字符集的字符數(shù)組char[N]的第一個(gè)元素開始,將收款文件的各字段的名稱按出現(xiàn)的順序,依次添加到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S3,其具體為:
53、搜索收款文件的各字段的內(nèi)容,首先將數(shù)字字符按照數(shù)字順序依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增1,然后將各字段的所有其它字符按照出現(xiàn)的頻率,以字符或字符串為單位,依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。本方法中,步驟SI中創(chuàng)建的字符集,元素個(gè)數(shù)N被初始化為N=l,字符數(shù)組char [N]的第一個(gè)元素char [O]被初始化為空值,編碼數(shù)組data [N]的第一個(gè)元素data
被初始化為O。步驟S2中,將收款文件的各字段的名稱按順序依次添加到字符數(shù)組char[N],首先,將收款文件的第一字段的名稱添加到字符數(shù)組char [N]的第一個(gè)元素char [O]中,同時(shí)相應(yīng)地令N的值遞增I,此時(shí)得到編碼數(shù)組data [N]的第二個(gè)元素data[l]為1,然后將收款文件的第二字段的名稱添加到字符數(shù)組char [N]的第二個(gè)元素char [I]中,同時(shí)相應(yīng)地令N的值遞增1,此時(shí)得到編碼數(shù)組data [N]的第三個(gè)元素data [2]為2,依次類推,直到收款文件的各字段的名稱都添加到字符數(shù)組char [N]中。然后,搜索收款文件的各字段的內(nèi)容,先按照數(shù)字順序?qū)?shù)字字符(T9依次加載到字符數(shù)組char [N]中,每加載一個(gè)數(shù)字字符則相應(yīng)地令N的值遞增1,接著再根據(jù)出現(xiàn)頻率,將其他字符都加載到字符數(shù)組char [N]中,同樣的每加載一個(gè)數(shù)字則相應(yīng)地令N的值遞增1,直到加載完畢。加載時(shí),若有某些字符是以字符串形式出現(xiàn),則將其以字符串為單位加載到字符數(shù)組char [N]中。進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S5,其具體為:
S5、根據(jù)元素個(gè)數(shù)N的值以及以下公式:
權(quán)利要求
1.一種基于電子收款機(jī)的流水記錄的壓縮加密方法,其特征在于,包括: S1、創(chuàng)建一個(gè)字符集,所述字符集包括字符數(shù)組char[N]以及編碼數(shù)組data [N],且編碼數(shù)組data[N]的元素值為:data[i]=i 其中,N表示字符數(shù)組char [N]以及編碼數(shù)組data[N]的元素個(gè)數(shù),i為0、1、2、3……N-1 ; S2、將收款文件的各字段的名稱按順序依次添加到字符數(shù)組char[N]中,同時(shí),相應(yīng)地令N的值依次遞增I ; S3、搜索收款文件的各字段的內(nèi)容,將各字段的所有字符按照設(shè)定的規(guī)則加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I ; S4、對(duì)編碼數(shù)組data[N]和字符數(shù)組char [N]建立對(duì)應(yīng)關(guān)系,進(jìn)而以編碼數(shù)組data[N]的元素對(duì)收款文件進(jìn)行替換處理,并得到數(shù)據(jù)文件; S5、根據(jù)元素個(gè)數(shù)N的值,選取動(dòng)態(tài)壓縮系數(shù)P; S6、根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件; 所述收款文件指電子收款機(jī)的流水記錄文件。
2.根據(jù)權(quán)利要求1所述的一種基于電子收款機(jī)的流水記錄的壓縮加密方法,其特征在于,所述步驟S2,其具體為: S2、從所述字符集的字符數(shù)組char[N]的第一個(gè)元素開始,將收款文件的各字段的名稱按出現(xiàn)的順序,依次添加到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。
3.根據(jù)權(quán)利要求1所述的一種基于電子收款機(jī)的流水記錄的壓縮加密方法,其特征在于,所述步驟S3,其具體為: S3、搜索收款文件的各字段的內(nèi)容,首先將數(shù)字字符按照數(shù)字順序依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增1,然后將各字段的所有其它字符按照出現(xiàn)的頻率,以字符或字符串為單位,依次加載到字符數(shù)組char [N]中,同時(shí),相應(yīng)地令N的值依次遞增I。
4.根據(jù)權(quán)利要求1所述的一種基于電子收款機(jī)的流水記錄的壓縮加密方法,其特征在于,所述步驟S5,其具體為: S4、根據(jù)元素個(gè)數(shù)N的值以及以下公式:
5.根據(jù)權(quán)利要求1所述的一種基于電子收款機(jī)的流水記錄的壓縮加密方法,其特征在于,所述步驟S6,其具體為: S6、根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,將每P個(gè)數(shù)據(jù)作為一組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件。
全文摘要
本發(fā)明公開了一種基于電子收款機(jī)的流水記錄的壓縮加密方法,包括創(chuàng)建字符集,字符集包括字符數(shù)組以及編碼數(shù)組;將收款文件的各字段的名稱按順序依次添加到字符數(shù)組中;搜索收款文件的各字段的內(nèi)容,將各字段的所有字符按照設(shè)定的規(guī)則加載到字符數(shù)組char[N]中;對(duì)編碼數(shù)組data[N]和字符數(shù)組char[N]建立對(duì)應(yīng)關(guān)系,以編碼數(shù)組data[N]的元素對(duì)收款文件進(jìn)行替換處理,得到數(shù)據(jù)文件;根據(jù)元素個(gè)數(shù)N的值,選取動(dòng)態(tài)壓縮系數(shù);根據(jù)動(dòng)態(tài)壓縮系數(shù)P對(duì)數(shù)據(jù)文件的數(shù)據(jù)進(jìn)行分組,并將得到的每組數(shù)據(jù)進(jìn)行位域運(yùn)算后,生成加密文件。本發(fā)明可節(jié)約存儲(chǔ)空間,數(shù)據(jù)安全性高,可廣泛應(yīng)用于數(shù)據(jù)壓縮及加密領(lǐng)域中。
文檔編號(hào)G06F21/60GK103177218SQ201310068259
公開日2013年6月26日 申請(qǐng)日期2013年3月4日 優(yōu)先權(quán)日2013年3月4日
發(fā)明者齊麗莉 申請(qǐng)人:廣州市中崎商業(yè)機(jī)器有限公司