Golang鍝堝笇绠楁硶鎬庝箞浣跨敤
鍦℅olang涓紝浣跨敤鍝堝笇绠楁硶闇€瑕佸厛寮曞叆hash
鍖咃紝鐒跺悗浣跨敤hash.Hash
鎺ュ彛鐨勫疄鐜版潵璁$畻鍝堝笇鍊笺€備互涓嬫槸涓€涓熀鏈殑浣跨敤绀轰緥锛?/p>
package main
import (
"crypto/md5"
"crypto/sha1"
"fmt"
)
func main() {
// 浣跨敤MD5绠楁硶璁$畻鍝堝笇鍊?/span>
md5Hash := md5.New()
md5Hash.Write([]byte("hello world"))
md5Result := md5Hash.Sum(nil)
fmt.Printf("MD5鍝堝笇鍊硷細%x\n", md5Result)
// 浣跨敤SHA1绠楁硶璁$畻鍝堝笇鍊?/span>
sha1Hash := sha1.New()
sha1Hash.Write([]byte("hello world"))
sha1Result := sha1Hash.Sum(nil)
fmt.Printf("SHA1鍝堝笇鍊硷細%x\n", sha1Result)
}
鍦ㄤ笂闈㈢殑绀轰緥涓紝鎴戜滑棣栧厛寮曞叆浜?code>crypto/md5鍜?code>crypto/sha1鍖咃紝杩欐槸Go璇█涓彁渚涚殑鍐呯疆鍝堝笇绠楁硶鍖呫€傜劧鍚庢垜浠垎鍒垱寤轰簡涓€涓?code>md5Hash鍜屼竴涓?code>sha1Hash瀵硅薄锛屽畠浠兘鏄疄鐜颁簡hash.Hash
鎺ュ彛鐨勭被鍨嬨€傛帴涓嬫潵锛屾垜浠€氳繃璋冪敤Write
鏂规硶灏嗚璁$畻鍝堝笇鍊肩殑鏁版嵁浼犻€掔粰鍝堝笇瀵硅薄锛岀劧鍚庤皟鐢?code>Sum鏂规硶鏉ヨ幏鍙栬绠楀緱鍒扮殑鍝堝笇鍊笺€傛渶鍚庯紝鎴戜滑浣跨敤fmt.Printf
鍑芥暟灏嗗搱甯屽€间互16杩涘埗鏍煎紡杈撳嚭銆?/p>
鍦ㄥ疄闄呭簲鐢ㄤ腑锛屾垜浠彲浠ユ牴鎹叿浣撶殑闇€姹傞€夋嫨涓嶅悓鐨勫搱甯岀畻娉曪紝姣斿SHA256銆丼HA512绛夈€備笉鍚岀殑绠楁硶瀵瑰簲涓嶅悓鐨勫寘锛屽彲浠ユ牴鎹渶瑕佸紩鍏ョ浉搴旂殑鍖呭苟浣跨敤鐩稿簲鐨勭被鍨嬫潵璁$畻鍝堝笇鍊笺€?/p>
相关问答