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

利用golang和shell計算一個字符串的md5值

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

需求:

用golang計算一個字符串的md5值

我們先用shell來計算一下,再去判斷golang計算的md5值是否正確

在線md5計算工具:

https://www.sojson.com/encrypt_md5.html

用shell計算字符串md5值

echo "helloworld"|md5sum

結(jié)果計算的值跟在線的不對應(yīng),這是怎么回事,是在線的計算錯了,還是我shell命令計算錯了

原來是echo 默認(rèn)是在字符串最后加上了"\n",上圖里計算的是帶有"\n"的計算值

如何獲取echo的幫助文檔

方式一:

man echo

方式二:

我們都知道一般linux命令的幫助信息,是 command -h,command --h,command -help,command --help,可是這些對echo 命令都不好使,這個命令是回顯的,echo 什么就回顯什么,如圖

這個命令得反過來 是help echo

通過echo 幫助文檔,我們可以使用-n不追加\n,

所以最后正確的用shell命令獲取字符串的方式應(yīng)該是,這就跟在線的對應(yīng)起來了

echo -n "helloworld"|md5sum

 用golang計算字符串的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)
 
}

運行結(jié)果:

驗證,用shell golang和在線md5計算工具

番外:

在mac系統(tǒng)上計算md5的方式:

md5 -s helloworld

到此這篇關(guān)于利用golang和shell計算一個字符串的md5值的文章就介紹到這了,更多相關(guān)golang shell計算md5值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Golang中的各種時間操作

    詳解Golang中的各種時間操作

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

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

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

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

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

    基于Go語言實現(xiàn)一個壓測工具

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

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

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

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

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

    探索Go語言中的switch高級用法

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

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

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

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

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

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

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

最新評論