稱謂: 單向雜湊函式, 雜湊函式, 雜湊函式, 訊息摘要函式
接收的輸入: 原像
輸出: 雜湊值, 雜湊值, 指紋, 摘要
將任意長度的資料轉換成固定長度的資料
很強的抗碰撞性
不可逆md4/md5
sha1
sha2 - 安全
sha256
sha384
sha512
// 第一種方式, 直接呼叫sum
// 適用於資料量比較小的情況
func sum(data byte) [size]byte
// 第二種方式
// 1. 建立雜湊介面物件
func new() hash.hash
type hash inte***ce
type writer inte***ce
// 2. 往建立出的雜湊物件中新增資料
hash.hash.write(byte("新增的資料..."))
hash.hash.write(byte("新增的資料..."))
hash.hash.write(byte("新增的資料..."))
hash.hash.write(byte("新增的資料..."))
// 3. 計算結果, md5就是雜湊值
md5 := hash.sum(nil);
// 雜湊值一般是乙個二進位制的字串, 有些字元不可見, 需要格式化
// 格式化為16進製制的數字串 - 0-9, a-f
func encodetostring(src byte) string
// 資料轉換完成之後, 長度是原來的2倍
//驗證
myhash()
// 使用sha256
func myhash()
單向雜湊函式
在介紹單向雜湊函式之前,我們先了解一下什麼情況下需要使用到單向雜湊函式。單向雜湊函式有乙個輸入和輸出。輸入稱為訊息,輸出稱為雜湊值。雜湊值的長度跟訊息的長度無關,不論多少大小的長度的訊息,都會計算出固定長度的雜湊值。單向雜湊函式具有下面幾個特性 能夠根據任意長度的訊息計算出固定長度的雜湊值。計算速度...
單向雜湊函式
在介紹單向雜湊函式之前,我們先了解一下什麼情況下需要使用到單向雜湊函式。單向雜湊函式有乙個輸入和輸出。輸入稱為訊息,輸出稱為雜湊值。雜湊值的長度跟訊息的長度無關,不論多少大小的長度的訊息,都會計算出固定長度的雜湊值。單向雜湊函式具有下面幾個特性 能夠根據任意長度的訊息計算出固定長度的雜湊值。計算速度...
單向雜湊函式
之前討論的問題是 資訊保密。通過加密的方式 有時候,我們可能不需要對資訊保密,而是希望接收者能夠驗證在傳遞過程中的訊息有沒被修改,即入侵者不能用假訊息代替合法訊息。資料完整性 乙個生活中的問題 如何識別某個人的身份?身份證 指紋。對應的,我們有資料指紋。那麼乙個指紋函式需要滿足什麼條件?指紋能處理不...