什么是哈希算法?競猜游戲開發(fā)技術(shù)詳解
?什么是哈希算法?
哈希算法的基本含義
哈希是密碼學(xué)的基礎(chǔ),理解哈希是理解數(shù)字簽名和加密通信等技術(shù)的必要前提。
哈希,英文是 hash ,本來意思是”切碎并攪拌,有一種食物就叫 Hash ,就是把食材切碎并攪拌一下做成的。哈希函數(shù)的運算結(jié)果就是哈希值,通常簡稱為哈希。哈希函數(shù)有時候也翻譯做散列函數(shù)。
哈希競猜游戲開發(fā),NFT哈希生態(tài)系統(tǒng)定制,模式開發(fā),歡迎隨時打擾小編

根據(jù)維基百科的定義,哈希函數(shù)要做的事情是給一個任意大小的數(shù)據(jù)生成出一個固定長度的數(shù)據(jù),作為它的映射。所謂映射就是一一對應(yīng)。一個可靠的哈希算法要滿足三點。
第一是安全,給定數(shù)據(jù) M 容易算出哈希值 X ,而給定 X 不能算出 M ,或者說哈希算法應(yīng)該是一個單向算法。第二是獨一無二,兩個不同的數(shù)據(jù),要擁有不相同的哈希。第三是長度固定,給定一種哈希算法,不管輸入是多大的數(shù)據(jù),輸出長度都是固定的。
但是仔細想一下,如果哈希的長度是固定的,也就是取值范圍是有限的,而輸入數(shù)據(jù)的取值范圍是無限的,所以總會找到兩個不同的輸入擁有相同的哈希。所以,哈希函數(shù)的安全性肯定是個相對概念。如果出現(xiàn)了兩個不同輸入有相同輸出的情況,就叫碰撞,collision 。不同的哈希算法,哈希位數(shù)越多,也就基本意味著安全級別越高,或者說它的”抗碰撞性就越好。

再來說說哈希函數(shù)的主要作用。哈希的獨一無二性,保證了如果數(shù)據(jù)在存儲或者傳輸過程中有絲毫損壞,那么它的哈希就會變。哈希函數(shù)的最常見的一個作用就是進行完整性校驗( Integrity Check ),完整的意思是數(shù)據(jù)無損壞。哈希有很多不同的稱呼,有時候叫 Digest 摘要,有時候叫 Checksum 校驗值,有時候叫 Fingerprint 指紋,其實說的意思差不多,也就是說哈??梢杂脕泶頂?shù)據(jù)本身。
例如朋友給我傳遞一份數(shù)據(jù),傳完之后,我有一份,他手里也有一份,如果兩份數(shù)據(jù)的哈希值是一樣的,那么這兩份數(shù)據(jù)的內(nèi)容就是一樣的,或者說可以認(rèn)為傳遞過程中數(shù)據(jù)沒有損壞,我手里拿到的數(shù)據(jù)是完整的。
所以說,哈希函數(shù)的基本作用就是給大數(shù)據(jù)算出一個摘要性的長度固定的字符串,也就是所謂的哈希。哈希的作用主要是進行完整性校驗。
?
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由財神資訊-領(lǐng)先的體育資訊互動媒體轉(zhuǎn)載發(fā)布,如需刪除請聯(lián)系。