登录
首页 >  Golang >  Go教程

Go语言常见哈希函数的使用

来源:脚本之家

时间:2022-12-28 08:35:15 105浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《Go语言常见哈希函数的使用》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

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)
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Go语言常见哈希函数的使用》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表