中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MD5中怎么防止數據被篡改

發布時間:2021-07-21 11:37:28 來源:億速云 閱讀:174 作者:Leah 欄目:編程語言

這篇文章給大家介紹MD5中怎么防止數據被篡改,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、基本思路

最近做IM系統,  移動端一個同學問我怎么防止App發出來的數據被篡改(防止內容泄露更重要),我想到了“簽名校驗 ”的方法。

大致思路是把發送的數據(用src表示)和一段我們自己才知道的字符串(用key表示),通過一個算法變為一段簽名文本(用sign表示)。  在服務器端接收到數據src和sign后,用相同的算法計算出簽名文本(用sign1)表示。比較sign和sign1是否一致。如果一致表明數據(src)沒有被篡改。

二、算法需求

怎么簡單理解“簽名校驗”呢?

首先需要找到一個函數f(x),   通過src,key求得sign,如下:

sign   = f(src,key);

這個函數f(x)要滿足一下幾個條件

1、容易計算,有大量內容需要簽名時,  速度很重要

2、壓縮性,不管src多大計算出的sign需要保持定長。  方便比較,且不至于大量消耗內存空間

3、抗修改,對原數據進行任何改動,  哪怕只修改1個字節,得到的sign值都有很大區別

4、強抗碰撞(不可逆),  知道sign,想反解出src和key不可能或非常困難。即找不到函數f(x)的可逆函數

三、具體做法

f(x)選用MD5算法,  MD5全名Message-Digest Algorithm 5(信息-摘要算法)是一種不可逆的加密算法。

1、參數處理,  將需要簽名校驗的參數以及對應的值按照一定規則處理成字符串src

2、令signSrc  = src+key

3、sign =  MD5Encrypt.getMessageDigest(signSrc);

客戶端按照這個方法計算得到sign,服務端再按相同方法計算得到sign1,  比較兩者是否一致,即可完成校驗。

關于MD5中怎么防止數據被篡改就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

md5
AI

东源县| 霍山县| 依兰县| 赤水市| 巩留县| 阿瓦提县| 东方市| 澄城县| 防城港市| 姜堰市| 武乡县| 延长县| 高邮市| 普定县| 讷河市| 岳阳县| 西盟| 湖州市| 长汀县| 丰都县| 汉阴县| 太仓市| 潍坊市| 兴宁市| 建水县| 卓尼县| 和政县| 汶川县| 襄城县| 朝阳县| 东港市| 秀山| 托克逊县| 衡南县| 阜新市| 凤山市| 比如县| 虹口区| 墨江| 安义县| 垫江县|