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缓冲channel和非缓冲channel的区别说明
Apr 25 Golang
golang正则之命名分组方式
Apr 25 Golang
解决golang在import自己的包报错的问题
Apr 29 Golang
Go使用协程交替打印字符
Apr 29 Golang
Golang 使用Map实现去重与set的功能操作
Apr 29 Golang
Golang 如何实现函数的任意类型传参
Apr 29 Golang
对Golang中的FORM相关字段理解
May 02 Golang
基于Golang 高并发问题的解决方案
May 08 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
浅谈Go语言多态的实现与interface使用
Jun 16 Golang
Golang 遍历二叉树
Apr 19 Golang
GO中sync包自由控制并发示例详解
Aug 05 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
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
Python 学习笔记
2008/12/27 Python
Python输入二维数组方法
2018/04/13 Python
python读取各种文件数据方法解析
2018/12/29 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
Python3 读取Word文件方式
2020/02/13 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
Django多数据库联用实现方法解析
2020/11/12 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
会议开场欢迎词
2014/01/15 职场文书
财务负责人岗位职责
2015/02/03 职场文书
小学主题班会教案
2015/08/17 职场文书
员工试用期工作总结
2019/06/20 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python