欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用golang和shell計(jì)算一個(gè)字符串的md5值

 更新時(shí)間:2024年03月22日 09:33:01   作者:Byte-Coder  
這篇文章主要介紹了如何利用golang和shell計(jì)算一個(gè)字符串的md5值,我們先用shell來(lái)計(jì)算一下,再去判斷golang計(jì)算的md5值是否正確,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下

需求:

用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)文章

  • 詳解Golang中的各種時(shí)間操作

    詳解Golang中的各種時(shí)間操作

    這篇文章主要介紹了詳解Golang中的各種時(shí)間操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • gin?session中間件使用及源碼流程分析

    gin?session中間件使用及源碼流程分析

    這篇文章主要為大家介紹了gin?session中間件使用及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Go并發(fā)編程之死鎖與活鎖的案例分析

    Go并發(fā)編程之死鎖與活鎖的案例分析

    死鎖就是在并發(fā)程序中,兩個(gè)或多個(gè)線程彼此等待對(duì)方完成操作,從而導(dǎo)致它們都被阻塞,并無(wú)限期地等待對(duì)方完成;活鎖就是程序一直在運(yùn)行,但是無(wú)法取得進(jìn)展。本文將從一些案例出發(fā),分析一下它們,希望對(duì)大家有所幫助
    2023-04-04
  • 基于Go語(yǔ)言實(shí)現(xiàn)一個(gè)壓測(cè)工具

    基于Go語(yǔ)言實(shí)現(xiàn)一個(gè)壓測(cè)工具

    這篇文章主要為大家詳細(xì)介紹了基于Go語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的壓測(cè)工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • Golang連接PostgreSQL基本操作的實(shí)現(xiàn)

    Golang連接PostgreSQL基本操作的實(shí)現(xiàn)

    PostgreSQL是常見的免費(fèi)的大型關(guān)系型數(shù)據(jù)庫(kù),本文主要介紹了Golang連接PostgreSQL基本操作的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • golang中l(wèi)og包自定義輸出日志格式與寫入到文件

    golang中l(wèi)og包自定義輸出日志格式與寫入到文件

    這篇文章主要給大家介紹了關(guān)于golang中l(wèi)og包自定義輸出日志格式與寫入到文件的相關(guān)資料,日志輸出在任何項(xiàng)目中都極其重要,是有助于后續(xù)我們排查解決程序BUG,需要的朋友可以參考下
    2023-06-06
  • 探索Go語(yǔ)言中的switch高級(jí)用法

    探索Go語(yǔ)言中的switch高級(jí)用法

    在Go語(yǔ)言中,switch語(yǔ)句除了常見的用法外,還有一種不常用但有趣的寫法,這種寫法中,switch后面不跟任何表達(dá)式,而每個(gè)case后面跟的是返回bool類型的函數(shù)調(diào)用表達(dá)式,這實(shí)際上是一個(gè)等價(jià)于switch true的用法,通過(guò)從上到下逐一比較case后的表達(dá)式是否為true來(lái)決定執(zhí)行哪個(gè)分支
    2024-10-10
  • Go實(shí)現(xiàn)Redis連接池方法

    Go實(shí)現(xiàn)Redis連接池方法

    為了更深入了解golang連接池的實(shí)現(xiàn),自已又重寫了一遍連接池。文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Go設(shè)計(jì)模式之代理模式圖文詳解

    Go設(shè)計(jì)模式之代理模式圖文詳解

    這篇文章將通過(guò)圖文講解給大家詳細(xì)的介紹一下Go代理模式,代理模式是一種結(jié)構(gòu)型設(shè)計(jì)模式,代理控制著對(duì)于原對(duì)象的訪問, 并允許在將請(qǐng)求提交給對(duì)象前后進(jìn)行一些處理,感興趣的同學(xué)跟著小編一起來(lái)看看吧
    2023-07-07
  • Go語(yǔ)言中int、float、string類型之間相互的轉(zhuǎn)換

    Go語(yǔ)言中int、float、string類型之間相互的轉(zhuǎn)換

    golang是強(qiáng)類型語(yǔ)言,在應(yīng)用過(guò)程中類型轉(zhuǎn)換基本都會(huì)用到,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中int、float、string類型相互之間的轉(zhuǎn)換,需要的朋友可以參考下
    2022-01-01

最新評(píng)論