在线无码中文破解|日本影院一区二区三区|五月激情Av在线|国产香蕉视频一区|国产老熟女AAAA|云霸高清91视频|久久久www视频|在线熟女网站无码视频|国产精品 国产|韩日精品中文字幕

風(fēng)險提示:理性看待區(qū)塊鏈,提高風(fēng)險意識!

哈希算法(Hash算法)是什么及用途?

2個回答

羽飛7星評價

2020-04-22 14:08:25

哈希算法(Hash算法)是什么及用途?

提起哈希算法,很多礦工應(yīng)該和小羊同學(xué)一樣,第一反應(yīng)就是比特幣挖礦。沒錯,比特幣挖礦就是不斷修改區(qū)塊頭部的隨機數(shù),再去計算區(qū)塊頭部的哈希值,直到這個哈希值滿足了一個特定的標準,然后通告全網(wǎng)的過程。那么哈希算法究竟是什么呢?

01.什么是哈希算法?

哈希算法又稱散列算法,是指某種從任意長度的數(shù)據(jù)中創(chuàng)建數(shù)字指紋”的算法。它可以將任意長度的數(shù)據(jù)映射為固定長度的數(shù)據(jù),這個映射后的數(shù)據(jù)我們稱之為哈希值。

哈希算法具有一些特點:

1. 強抗碰撞性:對于任意兩個不同的數(shù)據(jù)塊,其哈希值相同的可能性極小;對于一個給定的數(shù)據(jù)塊,找到和它哈希值相同的數(shù)據(jù)塊極為困難。

2. 強抗篡改性:對于一個數(shù)據(jù)塊,哪怕只改動其一個比特位,其哈希值的變動也會非常大。

常見的哈希算法有MD2.MD4.MD5.SHA1.SHA256和SHA512。

加密算法的效能通常可以按照算法本身的復(fù)雜程度、密鑰長度(密鑰越長越安全)、加解密速度等來衡量。上述的算法中,除MD2速度較慢已逐漸被淘汰外,其他算法仍在目前的加密系統(tǒng)產(chǎn)品中使用。

02.哈希算法的用途

哈希算法在生活中的應(yīng)用要比我們想象中要廣泛。

它可以檢驗信息是否是相同的,這樣的優(yōu)勢是可以節(jié)省重復(fù)數(shù)據(jù)傳送的時間。就像我們在一些網(wǎng)盤中上傳的文件,如果文件內(nèi)容相同的話,哪怕屬于不同的用戶,也可以通過對比哈希值避免向服務(wù)器重復(fù)上傳相同的文件,可以很大程度上節(jié)約存儲資源,提高存儲效率。

除此之外,哈希算法也可以對網(wǎng)站注冊用戶的密碼進行加密保護。

在密碼學(xué)中,哈希算法的主要作用是用于消息摘要和簽名,主要用于消息的完整性校驗。哈希算法不可逆,用于密文保存密碼的簽名,網(wǎng)站后臺只保存簽名值。 這樣即使網(wǎng)站保存的信息被盜取,也無法獲取用戶的密碼,具有更高的安全性。

看到這里,礦友們是不是對哈希算法有了基本的了解呢。在比特幣的區(qū)塊中,除了使用哈希算法確保算力,還通過將包含所有交易的默克爾樹的哈希值記錄在區(qū)塊頭,確保了這些交易不被竄改呢。


喬子1星評價

2020-04-22 14:09:08

什么是哈希算法?哈希是一種加密算法,也稱為散列函數(shù)或雜湊函數(shù)。哈希函數(shù)是一個公開函數(shù),可以將任意長度的消息M映射成為一個長度較短且長度固定的值H(M),稱H(M)為哈希值、散列值(Hash Value)、雜湊值或者消息摘要。它是一種單向密碼體制,即一個從明文到密文的不可逆映射,只有加密過程,沒有解密過程。

Hash的特點

易壓縮:對于任意大小的輸入x,Hash值的長度很小,在實際應(yīng)用中,函數(shù)H產(chǎn)生的Hash值其長度是固定的。

易計算:對于任意給定的消息,計算其Hash值比較容易。

單向性:對于給定的Hash值,要找到使得在計算上是不可行的,即求Hash的逆很困難。在給定某個哈希函數(shù)H和哈希值H(M)的情況下,得出M在計算上是不可行的。即從哈希輸出無法倒推輸入的原始數(shù)值。這是哈希函數(shù)安全性的基礎(chǔ)。

抗碰撞性:理想的Hash函數(shù)是無碰撞的,但在實際算法的設(shè)計中很難做到這一點。

有兩種抗碰撞性:一種是弱抗碰撞性,即對于給定的消息,要發(fā)現(xiàn)另一個消息,滿足在計算上是不可行的;另一種是強抗碰撞性,即對于任意一對不同的消息,使得在計算上也是不可行的。

高靈敏性:這是從比特位角度出發(fā)的,指的是1比特位的輸入變化會造成1/2的比特位發(fā)生變化。消息M的任何改變都會導(dǎo)致哈希值H(M)發(fā)生改變。即如果輸入有微小不同,哈希運算后的輸出一定不同。

哈希算法有什么用途?

哈希算法可以檢驗信息是否是相同的,這樣的優(yōu)勢可以節(jié)省重復(fù)文件傳送的時間。

舉一個生活中很平常的例子,我們在生活工作中會使用一些軟件給別人傳送文件數(shù)據(jù),如果有人傳送了一份文件給一個人,然后又有一個人傳送了相同的文件給了另外一個人,那么這個社交軟件在第二次傳送文件的時候會對比兩次傳送的哈希值,發(fā)現(xiàn)是相同的,該軟件就不會再次上傳文件給服務(wù)器了。

除此之外,哈希算法還可以檢驗信息的擁有者是否真實。

比如,我們在一個網(wǎng)站注冊一個賬號,如果網(wǎng)站把密碼保存起來,那這個網(wǎng)站不論有多安全,也會有被盜取的風(fēng)險。但是如果用保存密碼的哈希值代替保存密碼,就沒有這個風(fēng)險了,因為哈希值加密過程是不不可逆的。

哈希算法會不會被破解?

從理論上說,哈希值是可以被獲得的,但是對應(yīng)的用戶密碼很難獲得。

假設(shè)一個網(wǎng)站被攻破,黑客獲得了哈希值,但僅僅只有哈希值還不能登錄網(wǎng)站,他還必須算出相應(yīng)的賬號密碼。

計算密碼的工作量是非常龐大且繁瑣的,嚴格來講,密碼是有可能被破譯的,但破譯成本太大,被成功破譯的幾率很小,所以基本是不用擔(dān)心密碼泄露的。

當(dāng)然,黑客們還可以采用一種物理方法,那就是猜密碼。他可以隨機一個一個的試密碼,如果猜的密碼算出的哈希值正好與真正的密碼哈希值相同,那么就說明這個密碼猜對了。

密碼的長度越長,密碼越復(fù)雜,就越難以猜正確。如果有一種方法能夠提高猜中密碼的可能,那么可以算是哈希算法被破解了。

比如說,例如原本猜中的概率是1/10000000000000,現(xiàn)在增加到了1/1000。如果每猜一個密碼需要1秒,按照之前的概率猜,直到地球毀滅都可能沒猜中,但后者只需要1小時就足夠了。在這樣的情況下,哈希算法就算是被破解啦。