[發(fā)明專利]一種校驗碼生成方法及裝置在審
| 申請?zhí)枺?/td> | 201910331809.5 | 申請日: | 2019-04-24 |
| 公開(公告)號: | CN111865557A | 公開(公告)日: | 2020-10-30 |
| 發(fā)明(設(shè)計)人: | 黃榮宇 | 申請(專利權(quán))人: | 杭州螢石軟件有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L29/06 |
| 代理公司: | 北京柏杉松知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11413 | 代理人: | 李欣;丁蕓 |
| 地址: | 310051 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 校驗碼 生成 方法 裝置 | ||
本發(fā)明實施例提供了一種校驗碼生成方法及裝置,利用摘要算法,對獲取的原數(shù)據(jù)進行運算,得到原數(shù)據(jù)對應(yīng)的信息摘要數(shù)據(jù),按照預(yù)設(shè)字節(jié)長度,對信息摘要數(shù)據(jù)進行二次壓縮運算,生成原數(shù)據(jù)對應(yīng)的校驗碼,其中,預(yù)設(shè)字節(jié)長度小于信息摘要數(shù)據(jù)的字節(jié)長度,校驗碼的字節(jié)長度等于預(yù)設(shè)字節(jié)長度。既通過摘要算法保證了原數(shù)據(jù)不易遭到篡改,又對摘要算法生成的信息摘要數(shù)據(jù)進行進一步的字節(jié)長度壓縮,得到字節(jié)長度更短的校驗碼,使得在數(shù)據(jù)傳輸時,原數(shù)據(jù)與校驗碼組成的數(shù)據(jù)包變小,因此,在保證安全性的基礎(chǔ)上,提高了數(shù)據(jù)傳輸效率。
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種校驗碼生成方法及裝置。
背景技術(shù)
為了保證數(shù)據(jù)傳輸?shù)陌踩院陀行?,防止?shù)據(jù)在傳輸過程中被惡意篡改,通常會對數(shù)據(jù)進行校驗處理。傳統(tǒng)的校驗處理中,利用摘要算法(例如MD(Message DigestAlgorithm,消息摘要算法)、SHA(Secure Hash Algorithm,安全哈希算法)、MAC(MessageAuthentication Codes,帶消息認(rèn)證碼的哈希算法)等)對原數(shù)據(jù)進行運算,得到原數(shù)據(jù)對應(yīng)的信息摘要數(shù)據(jù),將信息摘要數(shù)據(jù)作為原數(shù)據(jù)的校驗碼,與原數(shù)據(jù)封裝為一個數(shù)據(jù)包進行傳輸。接收端收到數(shù)據(jù)包后,從數(shù)據(jù)包中拆分出數(shù)據(jù)部分和校驗碼部分,再采用相同的摘要算法對數(shù)據(jù)部分進行運算,得到信息摘要數(shù)據(jù)。通過將信息摘要數(shù)據(jù)與拆分出來的校驗碼部分進行比對,如果不同,則說明原數(shù)據(jù)被篡改。
在上述過程中,雖然摘要算法的安全性較高,但是信息摘要數(shù)據(jù)具有固定的長度且一般較長,使得信息摘要數(shù)據(jù)直接作為校驗碼的長度較長,封裝的數(shù)據(jù)包一般很大,在傳輸時占用較大的帶寬資源,導(dǎo)致數(shù)據(jù)傳輸效率較低。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種校驗碼生成方法及裝置,以提高數(shù)據(jù)傳輸效率。具體技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種校驗碼生成方法,所述方法包括:
獲取原數(shù)據(jù);
利用摘要算法,對所述原數(shù)據(jù)進行運算,得到所述原數(shù)據(jù)對應(yīng)的信息摘要數(shù)據(jù);
按照預(yù)設(shè)字節(jié)長度,對所述信息摘要數(shù)據(jù)進行二次壓縮運算,生成所述原數(shù)據(jù)對應(yīng)的校驗碼,所述預(yù)設(shè)字節(jié)長度小于所述信息摘要數(shù)據(jù)的字節(jié)長度,所述校驗碼的字節(jié)長度等于所述預(yù)設(shè)字節(jié)長度。
可選的,所述按照預(yù)設(shè)字節(jié)長度,對所述信息摘要數(shù)據(jù)進行二次壓縮運算,生成所述原數(shù)據(jù)對應(yīng)的校驗碼,包括:
按照預(yù)設(shè)字節(jié)長度,選擇所述預(yù)設(shè)字節(jié)長度對應(yīng)的二次壓縮運算算法,所述二次壓縮運算算法的運算結(jié)果的字節(jié)長度等于所述預(yù)設(shè)字節(jié)長度;
利用所述二次壓縮運算算法,對所述信息摘要數(shù)據(jù)進行二次壓縮運算,生成所述原數(shù)據(jù)對應(yīng)的校驗碼。
可選的,所述二次壓縮運算包括位運算;
所述按照預(yù)設(shè)字節(jié)長度,對所述信息摘要數(shù)據(jù)進行二次壓縮運算,生成所述原數(shù)據(jù)對應(yīng)的校驗碼,包括:
根據(jù)所述信息摘要數(shù)據(jù)的字節(jié)長度及預(yù)設(shè)字節(jié)長度,計算滑窗窗口大小;
從所述信息摘要數(shù)據(jù)的第一個字節(jié)開始,按照所述滑窗窗口大小,提取滑窗窗口內(nèi)的數(shù)據(jù);
利用預(yù)設(shè)位運算算法,對所述滑窗窗口內(nèi)的數(shù)據(jù)進行位運算,生成1個字節(jié)長度的校驗數(shù)據(jù);
將所述滑窗窗口后移一個字節(jié),重新執(zhí)行所述利用預(yù)設(shè)位運算算法,對所述滑窗窗口內(nèi)的數(shù)據(jù)進行位運算,生成1個字節(jié)長度的校驗數(shù)據(jù),直至對所述信息摘要數(shù)據(jù)中的最后一個數(shù)據(jù)完成位運算;
根據(jù)生成的各校驗數(shù)據(jù),組成所述原數(shù)據(jù)對應(yīng)的校驗碼。
可選的,在所述按照預(yù)設(shè)字節(jié)長度,對所述信息摘要數(shù)據(jù)進行二次壓縮運算,生成所述原數(shù)據(jù)對應(yīng)的校驗碼之后,所述方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州螢石軟件有限公司,未經(jīng)杭州螢石軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910331809.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





