利用golang和shell計(jì)算一個(gè)字符串的md5值
需求:
用golang計(jì)算一個(gè)字符串的md5值
我們先用shell來(lái)計(jì)算一下,再去判斷golang計(jì)算的md5值是否正確
在線md5計(jì)算工具:
https://www.sojson.com/encrypt_md5.html

用shell計(jì)算字符串md5值
echo "helloworld"|md5sum

結(jié)果計(jì)算的值跟在線的不對(duì)應(yīng),這是怎么回事,是在線的計(jì)算錯(cuò)了,還是我shell命令計(jì)算錯(cuò)了
原來(lái)是echo 默認(rèn)是在字符串最后加上了"\n",上圖里計(jì)算的是帶有"\n"的計(jì)算值
如何獲取echo的幫助文檔
方式一:
man echo

方式二:
我們都知道一般linux命令的幫助信息,是 command -h,command --h,command -help,command --help,可是這些對(duì)echo 命令都不好使,這個(gè)命令是回顯的,echo 什么就回顯什么,如圖

這個(gè)命令得反過(guò)來(lái) 是help echo

通過(guò)echo 幫助文檔,我們可以使用-n不追加\n,
所以最后正確的用shell命令獲取字符串的方式應(yīng)該是,這就跟在線的對(duì)應(yīng)起來(lái)了
echo -n "helloworld"|md5sum

用golang計(jì)算字符串的md5值
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func MD5(str string) string {
signByte := []byte(str)
hash := md5.New()
hash.Write(signByte)
return hex.EncodeToString(hash.Sum(nil))
}
func main() {
str := "helloworld"
stMD5 := MD5(str)
fmt.Println("str:", str, "\nstrMD5", stMD5)
}運(yùn)行結(jié)果:
驗(yàn)證,用shell golang和在線md5計(jì)算工具
番外:
在mac系統(tǒng)上計(jì)算md5的方式:
md5 -s helloworld

到此這篇關(guān)于利用golang和shell計(jì)算一個(gè)字符串的md5值的文章就介紹到這了,更多相關(guān)golang shell計(jì)算md5值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
go 下載非標(biāo)準(zhǔn)庫(kù)包(部份包被墻了)到本地使用的方法
今天小編就為大家分享一篇go 下載非標(biāo)準(zhǔn)庫(kù)包(部份包被墻了)到本地使用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Golang多個(gè)域名的跨域資源共享的實(shí)現(xiàn)
本文主要介紹了Golang多個(gè)域名的跨域資源共享的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Golang Map value不可尋址使用指針類(lèi)型代替示例詳解
這篇文章主要為大家介紹了Golang Map value不可尋址使用指針類(lèi)型代替示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Golang根據(jù)job數(shù)量動(dòng)態(tài)控制每秒?yún)f(xié)程的最大創(chuàng)建數(shù)量方法詳解
這篇文章主要介紹了Golang根據(jù)job數(shù)量動(dòng)態(tài)控制每秒?yún)f(xié)程的最大創(chuàng)建數(shù)量方法2024-01-01
Go語(yǔ)言中通過(guò)Lua腳本操作Redis的方法
這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中通過(guò)Lua腳本操作Redis的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01

