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,哈希
0
投稿

猜你喜欢

  • 树莓派安装OpenCV3完整过程的实现

    2023-11-06 06:26:08
  • 从零开始学Python第八周:详解网络编程基础(socket)

    2023-09-04 05:16:20
  • SQL server 2005中设置自动编号字段的方法

    2024-01-12 13:55:47
  • 如何搜索查找并解决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
  • 详解PANDAS 数据合并与重塑(join/merge篇)

    2022-12-13 04:02:08
  • 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
  • 用python打印菱形的实操方法和代码

    2023-03-18 19:17:18
  • li隔行换色改进版

    2024-04-29 13:40:23
  • Python Socketserver实现FTP文件上传下载代码实例

    2022-10-10 11:03:04
  • MySQL插入时间差八小时问题的解决方法

    2024-01-28 22:00:09
  • python 时间处理之月份加减问题

    2023-11-08 01:05:42
  • Pytest测试框架基本使用方法详解

    2022-06-23 20:49:04
  • CSS阴影详解

    2009-12-04 18:31:00
  • Go微服务项目配置文件的定义和读取示例详解

    2023-06-23 22:48:50
  • asp之家 网络编程 m.aspxhome.com