H所有散列函數(shù)都有如下一個(gè)基本特性:如果兩個(gè)散列值是不相同的(根據(jù)同一函數(shù)),那么這兩個(gè)散列值的原始輸入也是不相同的。這個(gè)特性是散列函數(shù)具有確定性的結(jié)果。但另一方面,散列函數(shù)的輸入和輸出不是一一對(duì)應(yīng)的,如果兩個(gè)散列值相同,兩個(gè)輸入值很可能是相同的,但并不能*對(duì)肯定二者一定相等。輸入一些數(shù)據(jù)計(jì)算出散列值,然后部分改變輸入值,一個(gè)具有強(qiáng)混淆特性的散列函數(shù)會(huì)產(chǎn)生一個(gè)完全不同的散列值。
典型的散列函數(shù)都有無(wú)限定義域,比如任意長(zhǎng)度的字節(jié)字符串,和有限的值域,比如固定長(zhǎng)度的比特串。在某些情況下,散列函數(shù)可以設(shè)計(jì)成具有相同大小的定義域和值域間的一一對(duì)應(yīng)。一一對(duì)應(yīng)的散列函數(shù)也稱(chēng)為排列??赡嫘钥梢酝ㄟ^(guò)使用一系列的對(duì)于輸入值的可逆“混合”運(yùn)算而得到。
直接取余法:f(x):= x mod maxM ; maxM一般是不太接近 2^t 的一個(gè)質(zhì)數(shù)。
乘法取整法:f(x):=trunc((x/maxX)*maxlongit) mod maxM,主要用于實(shí)數(shù)。
平方取中法:f(x):=(x*x div 1000 ) mod 1000000); 平方后取中間的,每位包含信息比較多。
尊敬的客戶(hù):
本公司有上泰PH計(jì)、哈希水質(zhì)分析儀等產(chǎn)品,您可以通過(guò)網(wǎng)頁(yè)撥打本公司的服務(wù)專(zhuān)線了解更多產(chǎn)品的詳細(xì)信息,至善至美的服務(wù)是我們永無(wú)止境的追求,歡迎老客戶(hù)放心選購(gòu)自己心儀產(chǎn)品,我們將竭誠(chéng)為您服務(wù)!