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

目录

需求:

在线md5计算工具:

用shell计算字符串md5值

如何获取echo的帮助文档

方式一:

方式二:

用golang计算字符串的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

相关推荐
Wang's Blog5 分钟前
Java 项目部署之 Docker工具快速入门: 自定义镜像的分层结构与写时复制
java·开发语言·docker
高频因子挖掘机19 分钟前
多股票 K 线如何用 Pandas 对齐?从收益率计算到横截面分析
后端·github·api
kimnoic9 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
架构技术专栏9 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
码事漫谈10 小时前
你让AI干的活,它可能只干了十分之一——而你根本看不出来
后端
必须得开心呀10 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan10 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
Wx-bishekaifayuan10 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe11 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
WeiXin_DZbishe11 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计