Go语言常见哈希函数的使用
作者:hebedich 时间:2024-02-04 16:09:23
myhash.go
/**
* Created with IntelliJ IDEA.
* User: liaojie
* Date: 12-9-8
* Time: 下午3:53
* To change this template use File | Settings | File Templates.
*/
package main
import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha512"
"flag" //命令行选项解析器
"fmt"
"hash"
"io"
"os"
)
var style = flag.String("s", "sha256", "采用的哈西函数:sha1,sha256")
var filename = flag.String("f", "", "需要计算散列值的文件名")
func main() {
flag.Parse()
var hs hash.Hash
switch *style {
case "md5":
hs = md5.New()
case "sha1":
hs = sha1.New()
case "sha512":
hs = sha512.New()
default:
hs = sha256.New()
}
if len(*filename) == 0 {
filein, err := os.Open(flag.Args()[len(flag.Args())-1])
if err != nil {
return
} else {
io.Copy(hs, filein)
}
} else {
filein, err := os.Open(*filename)
if err != nil {
return
} else {
io.Copy(hs, filein)
}
}
hashString := hs.Sum(nil)
fmt.Printf("%x\n", hashString)
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
标签:Go,哈希
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
树莓派安装OpenCV3完整过程的实现
2023-11-06 06:26:08
![](https://img.aspxhome.com/file/2023/4/114644_0s.jpg)
从零开始学Python第八周:详解网络编程基础(socket)
2023-09-04 05:16:20
SQL server 2005中设置自动编号字段的方法
2024-01-12 13:55:47
![](https://img.aspxhome.com/file/2023/6/102066_0s.png)
如何搜索查找并解决Django相关的问题
2022-02-12 09:58:51
PHP程序员最常犯的11个MySQL错误
2012-01-05 19:13:02
python基于event实现线程间通信控制
2022-04-30 07:10:51
Python工程师必考的6个经典面试题
2021-07-01 02:55:32
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2023-03-22 19:15:40
![](https://img.aspxhome.com/file/2023/0/78770_0s.png)
详解PANDAS 数据合并与重塑(join/merge篇)
2022-12-13 04:02:08
![](https://img.aspxhome.com/file/2023/0/101020_0s.png)
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
2024-01-19 22:48:06
Git配置用户签名方式及原因说明
2022-06-17 05:54:50
windows系统下Python环境的搭建(Aptana Studio)
2021-03-16 20:40:37
![](https://img.aspxhome.com/file/2023/1/131121_0s.png)
用python打印菱形的实操方法和代码
2023-03-18 19:17:18
li隔行换色改进版
2024-04-29 13:40:23
Python Socketserver实现FTP文件上传下载代码实例
2022-10-10 11:03:04
![](https://img.aspxhome.com/file/2023/6/85226_0s.png)
MySQL插入时间差八小时问题的解决方法
2024-01-28 22:00:09
![](https://img.aspxhome.com/file/2023/3/120843_0s.jpg)
python 时间处理之月份加减问题
2023-11-08 01:05:42
![](https://img.aspxhome.com/file/2023/5/63955_0s.png)
Pytest测试框架基本使用方法详解
2022-06-23 20:49:04
CSS阴影详解
2009-12-04 18:31:00
![](https://img.aspxhome.com/file/UploadPic/200912/4/textshadow1-78s.jpg)
Go微服务项目配置文件的定义和读取示例详解
2023-06-23 22:48:50
![](https://img.aspxhome.com/file/2023/6/89016_0s.png)