日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

摘要算法与加密(以MD5算法为例)

發(fā)布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 摘要算法与加密(以MD5算法为例) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【README】

部分內(nèi)容總結(jié)自:

摘要與加密的區(qū)別(以MD5算法為例) - 掘金https://juejin.cn/post/6844903561478799368


【1】摘要算法與加密區(qū)別

【1.1】摘要算法(不可逆)

1)摘要算法:

  • 說白了,就是一個散列或哈希函數(shù),摘要就是一個hash值,僅此而已;理論上講,這個hash值一旦生成,則無法可逆反推出 原生值;根本不存在加解密一說了;

詳細說明:

摘要是哈希值,我們通過散列算法比如MD5算法就可以得到這個哈希值。
摘要只是用于驗證數(shù)據(jù)完整性和唯一性的哈希值,不管原始數(shù)據(jù)是什么樣的,得到的哈希值都是固定長度的。
不管原始數(shù)據(jù)是什么樣的,得到的哈希值都是固定長度的,也就是說摘要并不是原始數(shù)據(jù)加密后的密文,只是一個驗證身份的令牌。所以我們無法通過摘要解密得到原始數(shù)據(jù)。


【1.2】加密算法(可逆)

【1.2.1】加密算法定義:

  • 加密是通過 “加密算法” 將 "明文" 加密成 “密文”。 我們可以通過 “密鑰” 和 “解密算法” 將 “密文” 還原成 “明文”。

【1.2.2】加密算法分類:(可逆,即明文加密成密文,密文可以解密出明文)

1)對稱加密

  • 加解密使用同一個密鑰;

2)非對稱加密:有公鑰和私鑰之分;私鑰自己保存,公鑰公開出來,給他人使用;但公鑰和私鑰是成對的,它們互相解密

  • 用途1:-可以用公鑰加密,私鑰解密;保護信息傳輸安全;如網(wǎng)絡(luò)上傳輸用戶名和密碼時就可以采用這種方式,前端用公鑰對用戶名密碼加密,網(wǎng)絡(luò)上傳輸?shù)氖敲芪?#xff0c;后端用私鑰解密;
  • 用途2-可以用私鑰加密(數(shù)字簽名),公鑰解密(驗證簽名);用于驗證消息發(fā)送方是否正確;

【例】私鑰簽名,公鑰驗簽例子

如果我用私鑰加密一段數(shù)據(jù)(當(dāng)然只有我可以用私鑰加密,因為只有我知道2是我的私鑰),結(jié)果所有的人都看到我的內(nèi)容了,因為他們都知
道我的公鑰是1,那么這種加密有什么用處呢?

但是我的好朋友x說有人冒充我給他發(fā)信。怎么辦呢?我把我要發(fā)的信,內(nèi)容是c,用我的私鑰2,加密,加密后的內(nèi)容是d,發(fā)給x,再告訴他
解密看是不是c。他用我的公鑰1解密,發(fā)現(xiàn)果然是c。
這個時候,他會想到,能夠用我的公鑰解密的數(shù)據(jù),必然是用我的私鑰加的密。只有我知道我得私鑰,因此他就可以確認確實是我發(fā)的東西。
這樣我們就能確認發(fā)送方身份了。這個過程叫做數(shù)字簽名。當(dāng)然具體的過程要稍微復(fù)雜一些。用私鑰來加密數(shù)據(jù),用途就是數(shù)字簽名。


【2】MD5使用場景(摘要算法使用場景)

平時的軟件研發(fā)中經(jīng)常使用MD5校驗消息是否被篡改、驗證文件完整性。

場景1-驗證是否被篡改:

  • 比如,上傳下載文件。數(shù)據(jù)的 發(fā)送方 將原始數(shù)據(jù)生成MD5摘要,然后把 原始數(shù)據(jù) 與其 MD5摘要一起發(fā)送給 接收方;接收方收到數(shù)據(jù)后,先將原始數(shù)據(jù)用MD5算法生成摘要信息,然后再將此摘要信息與發(fā)送方發(fā)過來的摘要信息進行比較,如果一致就認為原始數(shù)據(jù)沒有被修改、或者損壞。

場景2-防止抵賴:

  • 例如A寫了一個文件,某認證機構(gòu)對此文件用MD5算法產(chǎn)生摘要信息并做好記錄。若以后A說這文件不是他寫的,權(quán)威機構(gòu)只需對此文件重新產(chǎn)生摘要信息,然后跟記錄在冊的摘要信息進行比對,若摘要信息相同,則證明為A寫的文件。

總結(jié)

以上是生活随笔為你收集整理的摘要算法与加密(以MD5算法为例)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。