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

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

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

2個(gè)回答

羽飛7星評(píng)價(jià)

2020-04-22 14:08:25

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

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

01.什么是哈希算法?

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

哈希算法具有一些特點(diǎn):

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

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

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

加密算法的效能通??梢园凑账惴ū旧淼膹?fù)雜程度、密鑰長(zhǎng)度(密鑰越長(zhǎng)越安全)、加解密速度等來衡量。上述的算法中,除MD2速度較慢已逐漸被淘汰外,其他算法仍在目前的加密系統(tǒng)產(chǎn)品中使用。

02.哈希算法的用途

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

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

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

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

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


喬子1星評(píng)價(jià)

2020-04-22 14:09:08

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

Hash的特點(diǎn)

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

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

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

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

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

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

哈希算法有什么用途?

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

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

除此之外,哈希算法還可以檢驗(yàn)信息的擁有者是否真實(shí)。

比如,我們?cè)谝粋€(gè)網(wǎng)站注冊(cè)一個(gè)賬號(hào),如果網(wǎng)站把密碼保存起來,那這個(gè)網(wǎng)站不論有多安全,也會(huì)有被盜取的風(fēng)險(xiǎn)。但是如果用保存密碼的哈希值代替保存密碼,就沒有這個(gè)風(fēng)險(xiǎn)了,因?yàn)楣V导用苓^程是不不可逆的。

哈希算法會(huì)不會(huì)被破解?

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

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

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

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

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

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