以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Luna > Info

IFT:SHA-256、MD-5…… 哈希散列函數這些原理你懂了嗎?

Author:

Time:1900/1/1 0:00:00

作者:wagslane

譯者:火火醬

出品:區塊鏈大本營

本文對哈希函數進行簡要的介紹,旨在幫助讀者理解為什么要使用哈希函數,以及其基本工作原理。文中將省略具體證明和實現細節,而將重點放在高級原理上。

為什么要使用哈希函數

哈希函數被廣泛應用于互聯網的各個方面,主要用于安全存儲密碼、查找備份記錄、快速存儲和檢索數據等等。例如,Qvault使用哈希散列將主密碼擴展為私人加密密鑰。

用途列表清單詳見:?https://en.wikipedia.or/wiki/Hash_function#Uses

本文將重點介紹哈希函數的幾個重要特性,也可以說是其最重要的特性:

哈希函數確定性地加擾數據;

無論輸入是什么,哈希函數的輸出大小始終相同;

ShapeShift:FOX持有者可在Polygon上為SushiSwap池提供流動性以獲得獎勵:非托管加密貨幣交易所ShapeShift發推稱,FOX代幣持有者可以在Polygon上通過為SushiSwap FOX/ETH池提供流動性來獲得SUSHI和MATIC獎勵。[2021/9/11 23:17:27]

無法從加擾的數據中檢索原始數據;

確定性地加擾數據

首先,想象一個魔方。

我們從恢復魔方開始。如果我們隨機轉動魔方,到最后,魔方將會呈現和開始時完全不同的狀態。同樣,如果我們重新開始,重復完全相同的動作,那么我們會不斷得到完全相同的結果。盡管看起來結果可能是隨機產生的,但實質上并非如此。這就是“確定性”的意思。

以太坊2.0質押解決方案SharedStake在Saddle上推出vETH2-ETH池:據官方消息,以太坊2.0質押解決方案SharedStake(SGT)在自動做市商工具Saddle上推出vETH2-ETH資金池,允許用戶質押LP代幣來賺取SGT代幣。[2021/4/15 20:22:18]

“確定性”在安全存儲密碼方面起著至關重要的作用。例如,假設我的密碼是“iLoveBitcoin”。

我可以使用哈希函數對其進行加擾:

iLoveBitcoin→“2f5sfsdfs5s1fsfsdf98ss4f84sfs6d5fs2d1fdf15”

現在,如果有人看到這個加擾后的版本,他們也不會知道我的原始密碼!這一點非常重要,因為這意味著,作為一名網站開發人員,我只需存儲用戶密碼的哈希散列(加擾數據),即可對其進行驗證。

當用戶進行注冊時,我對密碼進行哈希散列處理,并將其存儲在數據庫中。當用戶登錄時,我只需再次對輸入的內容進行哈希散列處理,并比較兩個哈希值。由于特定的輸入始終會輸出相同的哈希值,所以該方法每次都可以成功驗證密碼。

聲音 | Shapeshift創始人:比特幣到年底將超過2萬美元,2020年將是下一個泡沫周期:據EWN消息,加密貨幣硬件錢包生產商Shapeshift創始人兼首席執行官Erik Voorhees近日在接受采訪時表示,他懷疑Facebook能否以目前的形式推出Libra,并擔心他們會向監管機構屈服,推出與美元1:1掛鉤的資產,這幾乎沒有創新。他同時預測比特幣到年底將超過2萬美元,而2020年將是下一個泡沫周期(無論減半與否)。加密投資是一個長期的項目,而且總是非常投機。每個人都應該做好假設加密資產會歸零的想法,當他們習慣這種想法,他們就準備好了。[2019/9/8]

如果網站以純文本格式存儲密碼的話,則會出現巨大的安全漏洞。如果有人入侵該網站,那么他將會能獲取所有的電子郵件和密碼,并可以嘗試在其他網站上使用這些信息進行登錄。

無論輸入是什么,輸出大小始終相同

動態 | ShapeShift推出新的數字貨幣資訊平臺:據數字貨幣交易所ShapeShift首席執行官Erik Voorhees推特消息,ShapeShift近日推出了新的數字貨幣數據資訊綜合平臺CoinCap。[2018/9/28]

如果對單個單詞進行哈希,則輸出將是特定的大小(對于特定的哈希函數SHA-256來說,其大小是256bits)。如果對一本書進行哈希,其輸出也將是相同的大小。

這是其另一個重要特性,因為這可以節省我們的計算時間。典型的例子是在數據映射中使用哈希散列作為鍵。數據映射是計算機科學中用來存儲數據的簡單結構。

當程序在映射中存儲數據時,會向映射提供鍵和值。當程序想要訪問該值時,它可以向映射提供適當的鍵并接收相應的值。數據映射的優勢在于它們可以立即找到數據。該鍵被用作計算機能夠立即找到的地址,這樣一來,就不必花費數小時在數百萬條記錄中進行搜索了。

聲音 | CoinShares首席戰略官:20%的比特幣掌握在前100名的錢包里:金色財經現場報道,在天津舉行的世界經濟論壇新領軍者年會上,CoinShares首席戰略官Meltem Demirors稱,公平和平等的經濟前提尚未實現,目前有20%的比特幣掌握在前100名的錢包中,以太幣的情況更糟糕,而Ripple中的相關數據大約有70%。他認為,如果風投擁有一個新網絡中50%的代幣,消費者就不會想要使用這個網絡。在解決這個問題之前,通過區塊鏈在全球范圍內建立可用的網絡是非常困難的。[2018/9/19]

因為鍵就像地址一樣,不能太大。如果想將書籍存儲在數據映射中,則可以對書籍的內容進行哈希散列處理,并使用哈希值作為鍵。作為一名程序員,我可以輕而易舉地使用哈希散列來查找該書的內容,而不必按標題、作者等對數千條記錄進行排序。

其工作原理是怎樣的呢?

這部分是本文的難點,我會盡量將其簡化,省略實際的實現細節,重點介紹計算機在使用哈希散列處理數據時工作原理的基本概念。

下面讓我們來看一下我為此專門編寫的一個算法——LANEHASH:

我們從要進行哈希散列的數據開始

我把字母和數字轉換成1和0(計算機中的所有數據都以1和0的形式進行存儲,不同的1和0的組合代表了不同的字母)

此時,我們通過各種預設的步驟對數據進行轉換。步驟內容可以是任意的,但重要的是,每次使用LANEHASH時,我們都需要遵循相同的步驟,以便我們的算法具有確定性。我們將前4位從左側移到右側:

每隔1位進行間隔:

我們把這兩部分轉換為以十進制的數字。十進制是我們在學校中學過的“正常的”數字系統。(所有的二進制數據實際上都是數字,你可以在其他網站上在線查詢如何將二進制轉換為十進制數字)

我們將這兩個數字相乘:

然后對該數進行平方:

再將該數字轉換回二進制:

從右側切掉9bits后正好得到16bits:

然后將該二進制數據轉換回英語:

如上所示,如果輸入相同,那么最后終將會得到相同的輸出結果。但是,如果改變任何一個字母,最終的結果也將發生巨大變化。

免責聲明:

在我將英語轉換成二進制,并將二進制轉換成英語的步驟中,并沒有遵循任何模式。有許多不同的方法可以將二進制數據轉換成英語并轉換回去,我只是不想在本文中展開討論這個問題。感興趣的話,你可以通過以下鏈接進行了解:

https://en.wikipedia.org/wiki/ASCII

https://en.wikipedia.org/wiki/Unicode原文:https://hackernoon.com/a-very-basic-intro-to-hash-functions-sha-256-md-5-etc-21wp24jk

Tags:SHASHISHIFIFTBasisX ShareTOSHI價格WSHIFT價格NIFT幣

Luna
區塊鏈:人民網:數字貨幣正式落地還有多遠,未來如何影響我們的生活?

來源:人民網 2020年突如其來的一場新冠肺炎疫情,給傳統產業帶來沖擊的同時,也為數字經濟新業態的發展創造了有利條件,引發了人們對數字貨幣的普遍關注.

1900/1/1 0:00:00
INK:幣乎咕嚕DeFi踩雷記:掉坑lendf.me,投資者需警惕這6類DeFi風險

作者:咕嚕 編者注:原標題為《幣乎咕嚕踩雷記》好像全網都知道了我最近踩了lendf.me的雷,既然都知道了,也是好久沒寫文章,今天跟大家來分享一些思考.

1900/1/1 0:00:00
ETH2:Lighthouse調查:?Eth2.0的設計中有這些問題

來源:?Medium 作者:AqeelMohammad 編譯:秦曉峰 來源:星球日報 以太坊2.0一直在如火如荼地開展,今年夏季即將上線階段零信標鏈.

1900/1/1 0:00:00
TRA:比特幣秘史:私人創立的「自由國度」,將比特幣列為國家流通貨幣

來源:哈希派 作者:LucyCheng上世紀九十年代,南斯拉夫內戰之后,在克羅地亞和塞爾維亞之間,毗鄰多瑙河河畔,出現了一塊占地面積約為7.7平方公里的邊界爭端之地.

1900/1/1 0:00:00
OIN:區塊鏈到底能做什么|可編程貨幣與全數字化時代公共基礎設施?的未來

受訪者:程顯峰、孫立林 采訪與撰文:李畫 來源:鏈聞 在未來,當我們談論區塊鏈時會很清楚區塊鏈的用途是什么,就像如今的我們清楚互聯網的用途是什么一樣;但在現在.

1900/1/1 0:00:00
比特幣:持有多少比特幣才能成為夢寐以求的“鯨魚”?Adam Back:100個比特幣就夠了

根據Blockstream首席執行官AdamBack的說法,擁有100BTC可能足以使您成為比特幣鯨魚.

1900/1/1 0:00:00
ads