作者:wagslane
譯者:火火醬
出品:區塊鏈大本營
本文對哈希函數進行簡要的介紹,旨在幫助讀者理解為什么要使用哈希函數,以及其基本工作原理。文中將省略具體證明和實現細節,而將重點放在高級原理上。
為什么要使用哈希函數
哈希函數被廣泛應用于互聯網的各個方面,主要用于安全存儲密碼、查找備份記錄、快速存儲和檢索數據等等。例如,Qvault使用哈希散列將主密碼擴展為私人加密密鑰。
用途列表清單詳見:?https://en.wikipedia.or/wiki/Hash_function#Uses
本文將重點介紹哈希函數的幾個重要特性,也可以說是其最重要的特性:
哈希函數確定性地加擾數據;
無論輸入是什么,哈希函數的輸出大小始終相同;
CashApp創建者刺殺案嫌疑人被捕,系與Bob Lee相識的科技企業家:4月14日消息,經舊金山地區檢察官Brooke Jenkins證實,刺殺Cash App創建者Bob Lee的嫌疑人,科技企業家Nima Momeni已被捕。官方回應稱,Nima Momeni認識BobLee,但不愿就作案動機置評。Nima Momeni將于周五被提審,檢察官表示提出一項動議,要求其不得被保釋。(CNBC)[2023/4/14 14:03:09]
無法從加擾的數據中檢索原始數據;
確定性地加擾數據
首先,想象一個魔方。
我們從恢復魔方開始。如果我們隨機轉動魔方,到最后,魔方將會呈現和開始時完全不同的狀態。同樣,如果我們重新開始,重復完全相同的動作,那么我們會不斷得到完全相同的結果。盡管看起來結果可能是隨機產生的,但實質上并非如此。這就是“確定性”的意思。
以太坊Shapella網絡升級將于2月28日在Sepolia網絡激活:2月22日消息,以太坊基金會發布博客稱,Shapella網絡升級將于區塊高度56832在Sepolia網絡上激活,約為北京時間2023年2月28日12:04:48。
此升級遵循The Merge并使驗證者能夠將質押的以太坊從信標鏈撤回到執行層,同時還為執行層和共識層引入了新功能,結合了對執行層(Shanghai)、共識層(Capella)和引擎API的更改。Zhejiang測試網可用于在Sepolia升級之前測試Shapella功能。[2023/2/22 12:20:55]
“確定性”在安全存儲密碼方面起著至關重要的作用。例如,假設我的密碼是“iLoveBitcoin”。
我可以使用哈希函數對其進行加擾:
iLoveBitcoin→“2f5sfsdfs5s1fsfsdf98ss4f84sfs6d5fs2d1fdf15”
現在,如果有人看到這個加擾后的版本,他們也不會知道我的原始密碼!這一點非常重要,因為這意味著,作為一名網站開發人員,我只需存儲用戶密碼的哈希散列(加擾數據),即可對其進行驗證。
Genesis Shards宣布與NFT借貸平臺Strip Finance建立合作伙伴關系:2月17日消息,去中心化生態系統 Genesis Shards 宣布與 NFT 借貸平臺 Strip Finance 建立合作伙伴關系。Strip Finance 和 Genesis Shards 將相互支持對方的生態系統,Strip Finance 將獲得 Genesis Shards 生態系統和網絡的訪問權限,Genesis Shards 合作伙伴將能夠訪問 Strip Finance 社區。[2022/2/17 9:56:27]
當用戶進行注冊時,我對密碼進行哈希散列處理,并將其存儲在數據庫中。當用戶登錄時,我只需再次對輸入的內容進行哈希散列處理,并比較兩個哈希值。由于特定的輸入始終會輸出相同的哈希值,所以該方法每次都可以成功驗證密碼。
如果網站以純文本格式存儲密碼的話,則會出現巨大的安全漏洞。如果有人入侵該網站,那么他將會能獲取所有的電子郵件和密碼,并可以嘗試在其他網站上使用這些信息進行登錄。
動態 | CoinShares:74%的挖礦活動依賴于可再生能源:據CCN報道,CoinShares的研究顯示,74%的挖礦活動依賴于可再生能源。Coinshares表示,我們的研究表明,比特幣挖礦主要集中在全球可再生電力供應充足的地區。我們保守估計,可再生能源在支撐比特幣挖礦所占能源組合中的滲透率為74.1%,這使得比特幣挖礦比世界上幾乎所有其他大型行業都更依賴可再生能源。[2019/6/7]
無論輸入是什么,輸出大小始終相同
如果對單個單詞進行哈希,則輸出將是特定的大小(對于特定的哈希函數SHA-256來說,其大小是256bits)。如果對一本書進行哈希,其輸出也將是相同的大小。
這是其另一個重要特性,因為這可以節省我們的計算時間。典型的例子是在數據映射中使用哈希散列作為鍵。數據映射是計算機科學中用來存儲數據的簡單結構。
動態 | ShapeShift將在48小時內下市BSV:ShapeShift首席執行官Erik Voorhees剛剛發布推文稱, 該交易所支持幣安和趙長鵬的觀點,決定在48小時內下市比特幣SV(BSV)。此外,Kraken交易所也在考慮同樣的舉動,已在推特上發起調查。[2019/4/16]
當程序在映射中存儲數據時,會向映射提供鍵和值。當程序想要訪問該值時,它可以向映射提供適當的鍵并接收相應的值。數據映射的優勢在于它們可以立即找到數據。該鍵被用作計算機能夠立即找到的地址,這樣一來,就不必花費數小時在數百萬條記錄中進行搜索了。
因為鍵就像地址一樣,不能太大。如果想將書籍存儲在數據映射中,則可以對書籍的內容進行哈希散列處理,并使用哈希值作為鍵。作為一名程序員,我可以輕而易舉地使用哈希散列來查找該書的內容,而不必按標題、作者等對數千條記錄進行排序。
其工作原理是怎樣的呢?
這部分是本文的難點,我會盡量將其簡化,省略實際的實現細節,重點介紹計算機在使用哈希散列處理數據時工作原理的基本概念。
下面讓我們來看一下我為此專門編寫的一個算法——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
作者:ThomasTse第三次BTC減半預計將在2020年5月12日發生。有相當多的用戶認為BTC價格會因為產量減半,供不應求而上漲.
1900/1/1 0:00:00“重啟2020”是開年以來社交媒體平臺的熱詞,是我們對不友好的2020年的抗議。2020年我們最愛的科比離開了這個世界,西班牙遭遇超強暴風雪,東非陷入蝗災危機,還有新冠病在全球肆虐.
1900/1/1 0:00:00在比特幣的閃電網絡上顯示用戶錢包余額是一件容易的事嗎?比特幣研究人員展示了閃電通道余額可以很容易實現去匿名化。但這未必是件壞事.
1900/1/1 0:00:00作者:0x29 來源:區塊律動BlockBeats這應該是2020年自從比特幣暴跌以來,對于區塊鏈行業來說,第一個大消息.
1900/1/1 0:00:00摘要:美股大漲,但比特幣聯動后遇阻,市場觀望情緒漸增,短時不確定性較大。央行數字貨幣DC/EP又爆出新進展,農行內測APP來了,“現鈔版”數字貨幣用手機“碰一碰”就完成支付.
1900/1/1 0:00:00來源:哈希派 作者:LucyCheng在加拿大蒙特利爾市的市中心有一座三層玻璃大樓;乍一看和大多數房地產公司的辦公大樓無異,但仔細一瞧會發現,招牌上寫著BitcoinEmbassy的字樣.
1900/1/1 0:00:00