golang中字符串MD5生成方式总结


Posted in Golang onJuly 04, 2021

方案一

func md5V(str string) string  {
    h := md5.New()
    h.Write([]byte(str))
    return hex.EncodeToString(h.Sum(nil))
}

方案二

func md5V2(str string) string {
    data := []byte(str)
    has := md5.Sum(data)
    md5str := fmt.Sprintf("%x", has)
    return md5str
}

方案三

func md5V3(str string) string {
    w := md5.New()
    io.WriteString(w, str)
    md5str := fmt.Sprintf("%x", w.Sum(nil))
    return md5str
}

整体测试代码

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io"
)
func main() {
    str := "MD5testing"
    md5Str := md5V(str)
    fmt.Println(md5Str)
    fmt.Println(md5V2(str))
    fmt.Println(md5V3(str))
}
// 输出结果:
f7bb96d1dcd6cfe0e5ce1f03e35f84bf
f7bb96d1dcd6cfe0e5ce1f03e35f84bf
f7bb96d1dcd6cfe0e5ce1f03e35f84bf

到此这篇关于golang中字符串MD5生成方式总结的文章就介绍到这了,更多相关golang中字符串MD5生成方式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
Go语言使用select{}阻塞main函数介绍
Apr 25 Golang
golang 实现两个结构体复制字段
Apr 28 Golang
go mod 安装依赖 unkown revision问题的解决方案
May 06 Golang
GoLang中生成UUID唯一标识的实现
May 08 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
深入理解go slice结构
Sep 15 Golang
Golang中channel的原理解读(推荐)
Oct 16 Golang
Golang ort 中的sortInts 方法
Apr 24 Golang
Golang入门之计时器
May 04 Golang
Go语言入门exec的基本使用
May 20 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 #Golang
Go语言空白表示符_的实例用法
Jul 04 #Golang
Go 语言结构实例分析
Jul 04 #Golang
Go语言基础知识点介绍
Jul 04 #Golang
详解Go语言Slice作为函数参数的使用
Jul 02 #Golang
golang 实用库gotable的具体使用
Jul 01 #Golang
试了下Golang实现try catch的方法
Jul 01 #Golang
You might like
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
中止javascript执行的方法
2014/02/14 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
python中的yield使用方法
2014/02/11 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
Python连接Redis的基本配置方法
2018/09/13 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
英语教学随笔感言
2014/02/20 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
2015年端午节活动方案
2015/05/05 职场文书
入队仪式主持词
2015/07/04 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python
muduo TcpServer模块源码分析
2022/04/26 Redis
Python如何让字典保持有序排列
2022/04/29 Python