[Golang]计算一个文件的MD5值
说明
在实际的开发过程中,总需要对文件进行md5加密的需求,在开发过程中,我就遇到了将表单文件MD5后再存储本地的需求。
解决
MD5的所需要的包在”crypto/md5”包中,需要先实例化一个MD5对象,然后在此基础上调用sum方法即可
md5 := md5.New()
io.Copy(md5,file)
MD5Str := hex.EncodeToString(md5.Sum(nil))
上面的代码实现了计算了文件MD5,其中file是multipart.File类型的,也可以是其他的已打开的其他文件类型。
当然也可以不使用io.copy,而是直接使用sum函数来计算:
md5 := md5.New()
MD5Str := hex.EncodeToString(md5.Sum(file))
这样是直接调用了sum函数来计算文件的值可能要比io.copy稍微慢一些。
字符串的MD5
有时候需要将已知的一段字符串加密,其实和文件加密大概是类似的,只需要调用write方法将字符串写入hash中:
md5 := md5.New()
md5.Write([]byte("hello,world!"))
MD5Str := hex.EncodeToString(md5.Sum(nil))
[Golang]计算一个文件的MD5值相关推荐
- 如何利用openSsl来计算一个文件的md5值?
openssl环境的配置, 我就不再说了.在本文中, 我们来讨论一个文件的md5值, 废话少说, 直接给大家代码, 上点干货: [cpp] view plaincopy #include <io ...
- 用windows api 计算文件的md5值
我自己封装了一个函数GetMd5(LPCWSTR FileDirectory).其中调用了windows api:CryptAcquireContext,CryptCreateHash,CryptHa ...
- linux 文件md5,Linux下计算文件的MD5值
脚本功能 脚本使用Perl编写,计算文件的MD5值 脚本用途 服务器在安装完操作系统后,计算PATH变量里面所有的二进制文件的MD5.计算单个文件MD5值.计算某个目录(包括子目录)下所有的文件的MD ...
- 使用Java计算文件的MD5值(含修改MD5值的方法)
什么是 MD5 ? MD5(Message Digest Algorithm,信息摘要算法),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保 ...
- python计算文件md5值_用python计算文件的MD5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...
- c语言md5函数 linux,Linux下C语言计算文件的md5值(长度32)
google了好久都没有找到合适的,其实我只需要一个函数,能计算文件的 md5 值就好, 后来找到了 md5.h 和 md5.c 的源文件,仿照别人的封装了个函数(他那个有问题,和 md5sum 计算 ...
- python3计算md5_python 计算文件的md5值实例
较小文件处理方法: import hashlib import os def get_md5_01(file_path): md5 = None if os.path.isfile(file_path ...
- golang 获取文件的MD5值
golang 获取文件的MD5值 调用下面的函数(输入参数是文件的路径,如/home/user/test.txt),即可获取指定文件的MD5值. func GetFileMD5(pathName st ...
- java 文件的md5值_Java计算文件的MD5值
import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.securi ...
最新文章
- 别光顾着背单词了,每天花18分钟做这件事,英语水平暴增!
- 微信小程序---导航(navigator)
- python 多线程 线程如何获得返回值 (重写threading.Thread类)
- 距离矢量路由算法_简单聊聊路由协议
- sublime text 常用快捷键
- 【编译原理笔记10】语法制导翻译:在递归预测过程中进行翻译,L属性定义的自底向上翻译
- Python下载Wyoming怀俄明大学探空数据(数据网址更新)
- LED显示屏智能化监控运维管理解决方案
- 探索性测试的分类与测试用例
- 2019年还剩1天,我从外包公司离职了
- android p 小米6,小米6还能再战几年!将升级Android P
- 推荐一款免费的万能电子书格式转换工具电子书转换器NeatConverter
- 《东周列国志》第三回 犬戎主大闹镐京 周平王东迁洛邑
- 国产Si24R2F+2.4GHz超低功耗有源RFID无线发射芯片
- Pinterest模式的魅力何在?国内山寨有哪些?
- dubbo SPI机制与@Adaptive自适应扩展机制
- 需要查询前一次该厂商,料号的单价, 这个sql语句很难写,你碰到过没有
- 微信小程序游戏「跳一跳」高分秘籍
- 1.win7与Ubuntu文件共享工具-Samba安装及使用方法
- 英语MuttonfatJade羊脂玉muttonfatjade单词