哈希(英語(yǔ):Hashing)是計(jì)算機(jī)科學(xué)中一種對(duì)數(shù)據(jù)的處理方法很魂,通過(guò)某種特定的函數(shù)/算法將要檢索的項(xiàng)與用來(lái)檢索的索引關(guān)聯(lián)起來(lái)妙黍,生成一種便于搜索的數(shù)據(jù)結(jié)構(gòu)惭缰。它也常用作一種信息安全的實(shí)現(xiàn)方法楷掉,由一串?dāng)?shù)據(jù)中經(jīng)過(guò)散列算法(Hashing algorithms)計(jì)算出來(lái)的數(shù)據(jù)指紋(data fingerprint)张吉,經(jīng)常用來(lái)識(shí)別文件與數(shù)據(jù)是否有被竄改,以保證文件與數(shù)據(jù)確實(shí)是由原創(chuàng)者所提供油额。
如今,散列算法也被用來(lái)加密存在數(shù)據(jù)庫(kù)中的密碼(password)字符串刻帚,由于散列算法所計(jì)算出來(lái)的散列值(Hash Value)具有不可逆(無(wú)法逆向演算回原本的數(shù)值)的性質(zhì)潦嘶,因此可有效的保護(hù)密碼。---維基百科
哈希算法是將文件映射為較短的固定長(zhǎng)度字符串(哈希值)崇众〉嘟——維基百科
哈希就是把一個(gè)東西變成一串字符,這一串字符就代表了這一個(gè)東西顷歌,并且僅僅代表這一個(gè)東西锰蓬。
不同的東西的哈希值不一樣,哪怕是稍稍改動(dòng)眯漩,哈希值也是面目全非芹扭。所以哈希運(yùn)算可以對(duì)文章進(jìn)行存證,對(duì)賬單進(jìn)行存證赦抖,并且原賬單如果被篡改舱卡,哈希值也就不一樣。
對(duì)本篇文章進(jìn)行哈希队萤,然后再加上一個(gè)時(shí)間戳轮锥,這就是版權(quán)存證了。哈希算法的優(yōu)點(diǎn)是只存儲(chǔ)文件的哈希值就可以而不用存儲(chǔ)原件要尔,這樣就減小了數(shù)據(jù)庫(kù)的容量舍杜,也提高了運(yùn)算速度,所以才能夠用在搜索引擎上面赵辕。
比特幣網(wǎng)絡(luò)只存儲(chǔ)哈希值的情況下總區(qū)塊大小已經(jīng)有一兩百個(gè)G既绩,如果存儲(chǔ)元交易數(shù)據(jù)的話,其大小不知會(huì)有多大匆帚,恐怕就沒(méi)有多少人愿意去運(yùn)行全節(jié)點(diǎn)熬词。哈希算法可以把復(fù)雜的東西簡(jiǎn)單化,就像湯強(qiáng)的文章一樣吸重,總是能夠把復(fù)雜的概念通俗的表述出來(lái)互拾。
下面給讀者提供兩個(gè)哈希工具,供大家玩耍嚎幸,也希望大家能夠在玩耍的同時(shí)能夠?qū)K惴軌蛴幸粋€(gè)更加深刻地認(rèn)識(shí)颜矿。
1、哈希文件:http://www.atool.org/file_hash.php
2嫉晶、哈希字符:http://www.kjson.com/encrypt/hash/?fm=map
“驍馬奔騰”的sha256哈希值為:548c1b5a0f35c44cf53ff5b00f06a9cdfe4b608d8f7f478d8708c4127feea79f
以上文字是讀湯強(qiáng)《如何給你的文件設(shè)定獨(dú)一無(wú)二的編號(hào)骑疆?》文章的學(xué)習(xí)筆記田篇。