簡單描述VB.NET散列函數

 VB.NET仍是比較經常使用的,因而我研究了一下VB.NET散列函數,在這裏拿出來和你們分享一下,但願對你們有用。算法

加密將防止數據被查看或修改,並在本來不安全的信道上提供安全的通訊信道,它達到如下目的:
◆保密性:防止用戶的標識或數據被讀取。
◆數據完整性:防止數據被更改。
◆身份驗證:確保數據發自特定的一方。安全

VB.NET散列函數ide

VB.NET散列函數H也稱哈希函數或雜湊函數等,是典型的多到一的函數,其輸入爲一可變長x(能夠足夠的長),輸出一固定長的串h(通常爲 128位、160位,比輸入的串短),該串h被稱爲輸入x的Hash值(或稱消息摘要Message Digest、指紋、密碼校驗和或消息完整性校驗),計做h=H(x)。爲防止傳輸和存儲的消息被有意或無心地篡改,採用VB.NET散列函數對消息進行運算生成消息摘要,附在消息以後發出或與信息一塊兒存儲,它在報文防僞中具備重要應用。http://open.189works.com/product/product.htm函數

消息摘要採用一種單向散列算法將一個消息進行換算。在消息摘要算法中,文件數據做爲單向散列運算的輸入,這個輸入經過HASH函數產生一個散列值。若是改動了文件,散列值就會相應地改變,接收者即能檢測到這種改動過的痕跡。從理論上來說,***者不可能製造一個替用的消息來產生一個徹底相同的消息摘要。Hash函數可用於數字簽名、消息的完整性檢測、消息的起源認證檢測等。加密

VB.NET散列函數是安全的是指它具備:
◆一致性:相同的輸入產生相同的輸出。
◆隨機性:消息摘要外觀是隨機的,以防被猜出源消息。
◆惟一性:幾乎不可能找到兩個消息產生相同的消息摘要。
◆單向性:即若是給出輸出,則很難肯定出輸入消息。spa

Hash函數H通常知足如下幾個基本要求:htm

(1)輸入x能夠爲任意長度;輸出數據串長度固定;get

(2)正向計算容易,即給定任何x,容易算出H(x);反向計算困難,即給出一Hash值h,很難找出一特定輸入x,使h=H(x);it

(3)抗衝突性(抗碰撞性),包括兩個含義,一是給出一消息x,找出一消息y使H(x)=H(y)是計算上不可行的(弱抗衝突),二是找出任意兩條消息x、y,使H(x)=H(y)也是計算上不可行的(強抗衝突)。class

私鑰加密

私鑰加密又稱爲對稱加密,由於同一密鑰既用於加密又用於解密。私鑰加密算法很是快(與公鑰算法相比),特別適用於對較大的數據流執行加密轉換。

公鑰加密(PKCS)和數字簽名

公鑰加密使用一個必須對未經受權的用戶保密的私鑰和一個能夠對任何人公開的公鑰。用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰能夠被任何人使用;該密鑰用於加密要發送到私鑰持有者的數據。兩個密鑰對於通訊會話都是惟一的。公鑰加密算法也稱爲不對稱算法,緣由是須要用一個密鑰加密數據而須要用另外一個密鑰來解密數據。

相關文章
相關標籤/搜索