亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang SHA512 不匹配 OpenSSL SHA512

Golang SHA512 不匹配 OpenSSL SHA512

Go
慕萊塢森 2022-06-21 16:34:29
我正在嘗試在 bash 中生成字符串的 SHA512 哈希,然后在 golang 中驗證 SHA512 哈希。但是,我無法弄清楚實用程序/標志的確切組合來獲得在兩個地方產生的相同哈希值。巴什代碼:echo "hello sha world" | openssl dgst -sha512 -hex9c5b761a9bf8f74da84c57101669b8042b860ca5871a15c4e729758ad1dee58d562ddf8fa303ada1f3e0278fdff4af9a72f57ce0514be98f6a959daabda926f5戈蘭代碼:s := sha512.New()s.Write([]byte(`hello sha world`))fmt.Println(hex.EncodeToString(s.Sum(nil)))d13fa494d2609a6f67e906de96d92788bd8ab46dec0f5e48d8cdb8c540628a752aa135262aa5804dcc907e261abe4472faf01fc13eb97e4e8c85e5c0438f2acb我還嘗試了二進制表示的base64編碼,但沒有任何運氣:重擊:echo "hello sha world"  | openssl dgst -sha512 | openssl base64 -AOWM1Yjc2MWE5YmY4Zjc0ZGE4NGM1NzEwMTY2OWI4MDQyYjg2MGNhNTg3MWExNWM0ZTcyOTc1OGFkMWRlZTU4ZDU2MmRkZjhmYTMwM2FkYTFmM2UwMjc4ZmRmZjRhZjlhNzJmNTdjZTA1MTRiZTk4ZjZhOTU5ZGFhYmRhOTI2ZjUK戈朗:s := sha512.New()s.Write([]byte(`hello sha world`))fmt.Println(base64.RawStdEncoding.EncodeToString(s.Sum(nil)))0T+klNJgmm9n6QbeltkniL2KtG3sD15I2M24xUBiinUqoTUmKqWATcyQfiYavkRy+vAfwT65fk6MheXAQ48qyw關于如何讓 Golang 生成與 openssl 相同的哈希的任何幫助將不勝感激。提前致謝!
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

該echo命令還發送一個換行符,因此您的第一個示例計算字符串的 SHA-512 校驗和"hello sha world\n"。


如果你在 Go 中使用相同的,你會得到相同的輸出:


s := sha512.New()

s.Write([]byte("hello sha world\n"))

fmt.Println(hex.EncodeToString(s.Sum(nil)))

或者簡單地說:


fmt.Printf("%x\n", sha512.Sum512([]byte("hello sha world\n")))

這些輸出(在Go Playground上試試):


9c5b761a9bf8f74da84c57101669b8042b860ca5871a15c4e729758ad1dee58d562ddf8fa303ada1f3e0278fdff4af9a72f57ce0514be98f6a959daabda926f5


如果要計算 bash 中某些文本的 SHA-512 檢出而不使用尾隨換行符,請使用如下-n參數echo:


echo -n "hello sha world" | openssl dgst -sha512 -hex

這輸出與原始 Go 代碼相同:


d13fa494d2609a6f67e906de96d92788bd8ab46dec0f5e48d8cdb8c540628a752aa135262aa5804dcc907e261abe4472faf01fc13eb97e4e8c85e5c0438f2acb


查看完整回答
反對 回復 2022-06-21
  • 1 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號