当前位置: 代码网 > it编程>前端脚本>Golang > 利用golang和shell计算一个字符串的md5值

利用golang和shell计算一个字符串的md5值

2024年05月18日 Golang 我要评论
需求:用golang计算一个字符串的md5值我们先用shell来计算一下,再去判断golang计算的md5值是否正确在线md5计算工具:https://www.sojson.com/encrypt_m

需求:

用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值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com