雜湊演算法是怎麼實現的,什麼是雜湊演算法?具體怎麼用啊???有什麼用啊?

2021-04-21 01:33:42 字數 3078 閱讀 8789

1樓:阿達貼

雜湊演算法將任意長度的二進

制值對映為較短的固定長度的二進位制值,這個小的二進版制值稱為雜湊權值。雜湊值是一段資料唯一且極其緊湊的數值表示形式。如果雜湊一段明文而且哪怕只更改該段落的一個字母,隨後的雜湊都將產生不同的值。

要找到雜湊為同一個值的兩個不同的輸入,在計算上是不可能的,所以資料的雜湊值可以檢驗資料的完整性。一般用於快速查詢和加密演算法。[1]

什麼是雜湊演算法?具體怎麼用啊???有什麼用啊?

2樓:匿名使用者

?看書好了

雜湊函式

一般密碼會用的到,很有趣的一個東西.

以數字簽名為例吧

一篇文章,需要對其進行簽名.

但是要對全部的文章進行簽名的化就比較慢

利用雜湊函式把它變成較少的值

要是二進位制的話就是減少二進位制的位數

這都是雜湊函式可以做到的

再加密就是對一小斷進行加密了

相對來說又比較快

而且相當於對全文都加了密

雜湊函式不是一個函式而是一類

加減乘除都可以

主要是要符合自己的需求

多看課本吧

密碼相關書籍都有介紹

很具體慢慢看

3樓:匿名使用者

自己去看資料結構 和離散數學啊

那上面比我們說的好多了

hash演算法原理

4樓:匿名使用者

雜湊表,它是基於高速存取的角度設計的,也是一種典型的「空間換時間」的做法。顧名思義,該資料結構能夠理解為一個線性表,可是當中的元素不是緊密排列的,而是可能存在空隙。

雜湊表(hash table,也叫雜湊表),是依據關鍵碼值(key value)而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中一個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。

比方我們儲存70個元素,但我們可能為這70個元素申請了100個元素的空間。70/100=0.7,這個數字稱為負載因子。

我們之所以這樣做,也是為了「高速存取」的目的。我們基於一種結果儘可能隨機平均分佈的固定函式h為每一個元素安排儲存位置,這樣就能夠避免遍歷性質的線性搜尋,以達到高速存取。可是因為此隨機性,也必定導致一個問題就是衝突。

所謂衝突,即兩個元素通過雜湊函式h得到的地址同樣,那麼這兩個元素稱為「同義詞」。這類似於70個人去一個有100個椅子的飯店吃飯。雜湊函式的計算結果是一個儲存單位地址,每一個儲存單位稱為「桶」。

設一個雜湊表有m個桶,則雜湊函式的值域應為[0,m-1]。

5樓:匿名使用者

這個問題有點難度,不是很好說清楚。 我來做一個比喻吧。

我們有很多的小豬,每個的體重都不一樣,假設體重分佈比較平均(我們考慮到公斤級別),我們按照體重來分,劃分成100個小豬圈。

然後把每個小豬,按照體重趕進各自的豬圈裡,記錄檔案。 好了,如果我們要找某個小豬怎麼辦呢?我們需要每個豬圈,每個小豬的比對嗎?

當然不需要了。 我們先看看要找的這個小豬的體重,然後就找到了對應的豬圈了。

在這個豬圈裡的小豬的數量就相對很少了。

我們在這個豬圈裡就可以相對快的找到我們要找到的那個小豬了。 對應於hash演算法。

就是按照hashcode分配不同的豬圈,將hashcode相同的豬放到一個豬圈裡。

查詢的時候,先找到hashcode對應的豬圈,然後在逐個比較裡面的小豬。 所以問題的關鍵就是建造多少個豬圈比較合適。 如果每個小豬的體重全部不同(考慮到毫克級別),每個都建一個豬圈,那麼我們可以最快速度的找到這頭豬。

缺點就是,建造那麼多豬圈的費用有點太高了。 如果我們按照10公斤級別進行劃分,那麼建造的豬圈只有幾個吧,那麼每個圈裡的小豬就很多了。我們雖然可以很快的找到豬圈,但從這個豬圈裡逐個確定那頭小豬也是很累的。

所以,好的hashcode,可以根據實際情況,根據具體的需求,在時間成本(更多的豬圈,更快的速度)和空間本(更少的豬圈,更低的空間需求)之間平衡。

什麼是雜湊演算法。。。

6樓:長孫華黎

雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:md4,md5,shs。

用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現:

用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的內容。

用來雜湊出相同值的兩個不同的資訊。

如果能夠發現用來雜湊出特定值的某個資訊,攻擊者就能夠用假資訊替代經過簽名的真資訊。而有些人也能夠聲稱自己實際上簽名了雜湊出相同值的一個不同的資訊,以此虛假地否認這條資訊。這樣就破壞了數字簽名的無法否認的屬性。

如果能夠發現用來雜湊出相同值的兩個不同的資訊,攻擊者就能夠給一個資訊簽名,這個資訊和另一個資訊都可以雜湊出相同值,但二者的意思卻是完全不同。

什麼是雜湊演算法?

7樓:諸葛恕褚女

雜湊函式是一個數學方程式,它可用文字(如電子郵件資訊)來生成稱為資訊摘要的**。著名的雜湊函式如:md4,md5,shs。

用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現:

用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的內容。

用來雜湊出相同值的兩個不同的資訊。

如果能夠發現用來雜湊出特定值的某個資訊,攻擊者就能夠用假資訊替代經過簽名的真資訊。而有些人也能夠聲稱自己實際上簽名了雜湊出相同值的一個不同的資訊,以此虛假地否認這條資訊。這樣就破壞了數字簽名的無法否認的屬性。

如果能夠發現用來雜湊出相同值的兩個不同的資訊,攻擊者就能夠給一個資訊簽名,這個資訊和另一個資訊都可以雜湊出相同值,但二者的意思卻是完全不同。

關於雜湊演算法原理?

8樓:蠻古潤

雜湊演算法就是單向摘要演算法,由任意長資料產生定長資料,當輸入資料發生少量變化可引起輸出資料明顯變化,一般用於檢查原始資料是否發生變化,另一個用途是口令管理。

常用的有md5和sha-1兩種。

常見的雜湊演算法有哪些,什麼是雜湊演算法,雜湊函式主要有哪些?

1 rshash unsigned int rshash const std string str return hash 2 jshash unsigned int jshash const std string str return hash 3 pjwhash unsigned int pjw...

什麼是https協議?如何實現,怎麼實現https協議

是安全套接層很文字傳輸協議,為了資料傳輸的安全,https在http的基礎上加入了ssl協議,可以使資料進行加密傳輸,還能驗證 身份,相當於http的升級版,比http協議安全。https協議需要到證書頒發機構ca申請ssl證書,而http不用申請ssl證書。要實現https需要在 伺服器上部署ss...

買衣服打折是怎麼演算法,打折是怎麼算的

1打折就是在原來售復價的基礎上降價銷製售,幾折則表示實際售價佔原來售價的成數。注意 10 就是一成,也就是一折,所以八折,就意味著實際售價是原來售價的80 2折扣,是商品買賣中的讓利 減價,是賣方給買方的 優惠,但買賣雙方給予或者接受折扣都要明示並如實入帳。3法律上對摺扣的概念作了如下界定 本規定所...