18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MD5到底算不算一種加密算法?

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:張張 ? 2022-11-24 11:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一旦提到加密算法,經(jīng)常有人會(huì)有這樣的疑問(wèn):MD5 到底算不算一種加密算法呢?

在回答這個(gè)問(wèn)題之前,我們需要先弄清楚兩點(diǎn):

什么是加密算法?

什么是 MD5?

1什么是加密算法?

數(shù)據(jù)加密的基本過(guò)程就是對(duì)原來(lái)為明文的文件或數(shù)據(jù)按某種算法進(jìn)行處理,使其成為不可讀的一段代碼為“密文”,使其只能在輸入相應(yīng)的密鑰之后才能顯示出原容,通過(guò)這樣的途徑來(lái)達(dá)到保護(hù)數(shù)據(jù)不被非法人竊取、閱讀的目的。該過(guò)程的逆過(guò)程為解密,即將該編碼信息轉(zhuǎn)化為其原來(lái)數(shù)據(jù)的過(guò)程。

-- 來(lái)自《百度百科》

使用密碼學(xué)可以達(dá)到以下三個(gè)目的:

數(shù)據(jù)保密性:防止用戶的數(shù)據(jù)被竊取或泄露;

數(shù)據(jù)完整性:防止用戶傳輸?shù)臄?shù)據(jù)被篡改;

身份驗(yàn)證:確保數(shù)據(jù)來(lái)源與合法的用戶。

加密算法分類

常見(jiàn)的加密算法大體可以分為兩大類:對(duì)稱加密和非對(duì)稱加密。

對(duì)稱加密

對(duì)稱加密算法就是用一個(gè)秘鑰進(jìn)行加密和解密。

2a5ae5f8-6b2e-11ed-8abf-dac502259ad0.png

非對(duì)稱加密

與對(duì)稱加密算法不同的是,進(jìn)行加密與解密使用的是不同的秘鑰,有一個(gè)公鑰-私鑰對(duì),秘鑰正確才可以正常的進(jìn)行加解密。

2a7b7fc0-6b2e-11ed-8abf-dac502259ad0.png

2什么是MD5?

MD5算法:MD5全稱Message Digest Algorithm 5,即消息摘要算法第5版。

MD5 以 512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。

MD5算法的主要特點(diǎn):

長(zhǎng)度固定

MD5加密后值固定長(zhǎng)度是128位,使用32個(gè)16進(jìn)制數(shù)字進(jìn)行表示。

單向性

如果告訴原始消息,算法是MD5,迭代次數(shù)=1的情況下,我們一樣可以得到一摸一樣的消息摘要,但是反過(guò)來(lái)卻不行。

不可逆

在不知道原始消息的前提下,是無(wú)法憑借16個(gè)字節(jié)的消息摘要(Message Digest),還原出原始的消息的。

下面這個(gè)消息摘要,你知道他的原始信息是什么嗎?

MessageDigest='454e2624461c206380f9f088b1e55fae'

其實(shí),原始信息是以下長(zhǎng)長(zhǎng)的字符串:
93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0Nx
TulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC
0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOm
Vya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCo
B15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD

恒定性

如果按照以上示例的原始信息,大家與我計(jì)算出來(lái)的消息摘要不一樣,那肯定你是使用了一個(gè)假的 MD5 工具,哈哈哈。

當(dāng)原始消息恒定時(shí),每次運(yùn)行MD5產(chǎn)生的消息摘要都是恒定不變的,無(wú)論是誰(shuí)來(lái)計(jì)算,結(jié)果都應(yīng)該是一樣的。

不可預(yù)測(cè)性

讓我們?cè)賮?lái)嘗試一次,「不可逆」中應(yīng)用到的原始消息的最后一個(gè)字母'D',修改成'E',如下所示:

93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0Nx
TulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC
0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOm
Vya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCo
B15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onE

那經(jīng) MD5 后產(chǎn)生的消息摘要,是不是和 '454e2624461c206380f9f088b1e55fae' 很相似呢?

讓大家失望了,產(chǎn)生的消息摘要沒(méi)有一絲一毫的關(guān)聯(lián)性,新的消息摘要如下所示:

Message Digest = '8796ed5412b84ff5c4769d080b4a89a2'

聊到這里,突然想到一個(gè)有意思的問(wèn)題:

MD5是32位的,理論上是有限的,而世界上的數(shù)據(jù)是無(wú)限的,那會(huì)不會(huì)生成重復(fù)的MD5值?

是不是也有同學(xué)產(chǎn)生相似的疑問(wèn)呢?

理論上來(lái)講,當(dāng)然會(huì)生成重復(fù)的MD5值。

分享一個(gè)經(jīng)典的例子:

數(shù)據(jù)源1:

d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f89 
55ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5b 
d8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0 
e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70

數(shù)據(jù)源2:

d131dd02c5e6eec4693d9a0698aff95c2fcab50712467eab4004583eb8fb7f89 
55ad340609f4b30283e4888325f1415a085125e8f7cdc99fd91dbd7280373c5b 
d8823e3156348f5bae6dacd436c919c6dd53e23487da03fd02396306d248cda0 
e99f33420f577ee8ce54b67080280d1ec69821bcb6a8839396f965ab6ff72a70

它們竟然有著共同的MD5值(? 注意看,數(shù)據(jù)源1、2是存在很多細(xì)節(jié)不同的):

79054025255fb1a26e4bc422aef54eb4

3MD5是加密算法嗎?

MD5計(jì)算,對(duì)原始消息(Message)做有損的壓縮計(jì)算,無(wú)論消息(輸入值)的長(zhǎng)度字節(jié)是多少,是1億字節(jié)還是1個(gè)字節(jié),都會(huì)生成一個(gè)固定長(zhǎng)度(128位/16字節(jié))的消息摘要(輸出值)。

也就是說(shuō),MD5 算法和加密算法都可以將信息轉(zhuǎn)換為另外一種內(nèi)容,但是,MD5 算法對(duì)比 加密算法 缺少了解密過(guò)程。

好比一頭山羊,被層層加工制作成一包包風(fēng)干羊肉,這個(gè)就是一次MD5操作。這種加工過(guò)程,勢(shì)必將羊身體N多部位有損失,故無(wú)法通過(guò)羊肉干再?gòu)?fù)原出一頭山羊...

2aa31832-6b2e-11ed-8abf-dac502259ad0.png

使用加密算法加密后的消息是完整的,并且基于解密算法后,可以恢復(fù)原始數(shù)據(jù)。而MD5 算法得到的消息是不完整的,并且通過(guò)摘要的數(shù)據(jù)也無(wú)法得到原始數(shù)據(jù)。

所以嚴(yán)格意義上來(lái)講,MD5 稱為摘要/散列算法更合適,而不是加密算法

那現(xiàn)實(shí)的問(wèn)題來(lái)了,MD5究竟有什么用?

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • md5
    md5
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    21212
  • 加密算法
    +關(guān)注

    關(guān)注

    0

    文章

    219

    瀏覽量

    26079
  • 數(shù)據(jù)加密
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    13067

原文標(biāo)題:MD5到底算不算一種加密算法?

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【安全算法MD5MD5摘要運(yùn)算的C語(yǔ)言源碼實(shí)現(xiàn)

    【安全算法MD5MD5摘要運(yùn)算的C語(yǔ)言源碼實(shí)現(xiàn)
    的頭像 發(fā)表于 09-12 16:32 ?4715次閱讀
    【安全<b class='flag-5'>算法</b>之<b class='flag-5'>MD5</b>】<b class='flag-5'>MD5</b>摘要運(yùn)算的C語(yǔ)言源碼實(shí)現(xiàn)

    如何對(duì)MD5加密算法優(yōu)化?

    有人針對(duì)程序安全啟動(dòng)過(guò)程,進(jìn)行MD5算法的優(yōu)化嘛。目前采用標(biāo)準(zhǔn)算法,時(shí)間稍長(zhǎng),如果有人做過(guò)優(yōu)化的話,可以分享下,謝謝。
    發(fā)表于 02-18 08:20

    基于MD5算法的密碼加密

    MD5進(jìn)行密碼的加密,MD5算法對(duì)密碼的加密規(guī)則,第個(gè),輸入的長(zhǎng)度不固定但是輸出的長(zhǎng)度是固定的
    發(fā)表于 07-17 06:11

    加密算法(DES,AES,RSA,MD5,SHA1,Base64)

    加密算法(DES,AES,RSA,MD5,SHA1,Base64)比較和項(xiàng)目應(yīng)用加密技術(shù)通常分為兩大類:"對(duì)稱式"和"非對(duì)稱式"。對(duì)稱性加密算法:對(duì)稱式
    發(fā)表于 07-19 08:44

    用C語(yǔ)言實(shí)現(xiàn)MD5加密算法

    ):消息認(rèn)證碼這三類算法的主要作用:驗(yàn)證數(shù)據(jù)的完整性二、MD5簡(jiǎn)介MD5即Message-Digest Algorithm 5(信息-摘要算法
    發(fā)表于 05-10 09:15

    【開(kāi)源三方庫(kù)】crypto-js加密算法庫(kù)的使用方法

    加密算法(如 AES、DES)和散列函數(shù)(如 MD5、SHA1、SHA256),以及消息認(rèn)證碼(MAC)算法。它提供了套完整的加密工具,滿
    發(fā)表于 09-08 15:10

    md5加密算法源代碼

    This file contains a summary of what you will find in each of the files thatmake up your Md5 DLL.
    發(fā)表于 09-08 09:18 ?81次下載

    一種基于MD5硬件Key的票據(jù)號(hào)產(chǎn)生方法

    文章討論了一種基于加密處理器的商業(yè)票據(jù)產(chǎn)生方法,介紹了采用多個(gè)母密鑰片斷產(chǎn)生MD5 密鑰的算法,以及密鑰在加密處理器中的存儲(chǔ)和管理方式,并給
    發(fā)表于 01-22 15:23 ?10次下載

    MD5加密算法改進(jìn)及其特征碼在殺毒軟件中的應(yīng)用

    文章分析了MD5算法發(fā)展、危機(jī)、碰撞分析并加入"鹽值"對(duì)算法做了改進(jìn),然后給出了其C++的具體實(shí)現(xiàn)算法;分析MD5特征碼的特點(diǎn)構(gòu)建了特征庫(kù)配
    發(fā)表于 12-21 10:19 ?8次下載

    C#教程之MD5加密

    C#教程之MD5加密,很好的C#資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-20 15:27 ?14次下載

    labview md5加密算法.llb

    md5加密算法 md5加密算法 md5加密算法 md5
    發(fā)表于 05-25 14:25 ?115次下載

    md5算法原理與實(shí)現(xiàn)

    MD5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。用于確保信息傳輸完整致。是計(jì)算機(jī)廣泛使用的雜湊算法,主流編程語(yǔ)
    發(fā)表于 12-28 08:42 ?7513次閱讀
    <b class='flag-5'>md5</b><b class='flag-5'>算法</b>原理與實(shí)現(xiàn)

    md5算法可逆嗎_MD5值是什么

    MD5不可逆的原因是由于它是一種散列函數(shù)(也叫哈希函數(shù),哈希函數(shù)又稱散列函數(shù),雜湊函數(shù),他是個(gè)單向密碼體制,即從明文到密文的不可逆映射,只有加密過(guò)程沒(méi)有解密過(guò)程,哈希函數(shù)可以將任意長(zhǎng)
    的頭像 發(fā)表于 11-16 15:30 ?1.3w次閱讀

    md5是什么_md5怎么用

    MD5信息摘要算法(英語(yǔ):MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出個(gè)128位(
    的頭像 發(fā)表于 11-16 15:42 ?1.3w次閱讀

    開(kāi)源物聯(lián)網(wǎng)技術(shù)--哈希算法MD5加密功能技術(shù)分享

    MD5(Message-Digest Algorithm 5)是一種常用的哈希函數(shù),通常用于數(shù)據(jù)加密和安全校驗(yàn)等場(chǎng)合。MD5
    的頭像 發(fā)表于 09-21 09:57 ?3386次閱讀
    開(kāi)源物聯(lián)網(wǎng)技術(shù)--哈希<b class='flag-5'>算法</b><b class='flag-5'>MD5</b><b class='flag-5'>加密</b>功能技術(shù)分享