如何在golang项目中使用哈希函数

如何在golang项目中使用哈希函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

网站的建设成都创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为轻质隔墙板等企业提供专业服务。

myhash.go

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项目中使用哈希函数
转载注明:https://www.cdcxhl.com/article8/josdop.html

成都网站建设公司_创新互联,为您提供自适应网站标签优化手机网站建设网站排名移动网站建设网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设