利用golang和shell计算一个字符串的md5值
需求:
用golang计算一个字符串的md5值
我们先用shell来计算一下,再去判断golang计算的md5值是否正确
在线md5计算工具:
https://www.sojson.com/encrypt_md5.html
用shell计算字符串md5值
echo "helloworld"|md5sum
结果计算的值跟在线的不对应,这是怎么回事,是在线的计算错了,还是我shell命令计算错了
原来是echo 默认是在字符串最后加上了"\n",上图里计算的是带有"\n"的计算值
如何获取echo的帮助文档
方式一:
man echo
方式二:
我们都知道一般linux命令的帮助信息,是 command -h,command --h,command -help,command --help,可是这些对echo 命令都不好使,这个命令是回显的,echo 什么就回显什么,如图
这个命令得反过来 是help echo
通过echo 帮助文档,我们可以使用-n不追加\n,
所以最后正确的用shell命令获取字符串的方式应该是,这就跟在线的对应起来了
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) }
运行结果:
验证,用shell golang和在线md5计算工具
番外:
在mac系统上计算md5的方式:
md5 -s helloworld
到此这篇关于利用golang和shell计算一个字符串的md5值的文章就介绍到这了,更多相关golang shell计算md5值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Go语言将string解析为time.Time时两种常见报错
本文主要介绍了Go语言将string解析为time.Time时两种常见报错,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-03-03掌握GoLang Fiber路由和中间件技术进行高效Web开发
这篇文章主要为大家介绍了GoLang Fiber路由和中间件进行高效Web开发,本文将深入探讨 Fiber 中的路由细节,学习如何创建和处理路由,深入了解使用路由参数的动态路由,并掌握在 Fiber 应用程序中实现中间件的艺术2024-01-01
最新评论