• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Go语言常见哈希函数的使用
    POST TIME:2021-10-18 17:46

    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语言中append函数用法分析
    • GO语言延迟函数defer用法分析
    • Go语言中普通函数与方法的区别分析
    • Go语言的os包中常用函数初步归纳
    • 举例讲解Go语言中函数的闭包使用
    • Go语言里的new函数用法分析
    • Golang的os标准库中常用函数的整理介绍
    • 深入解析golang编程中函数的用法
    • Golang学习笔记(五):函数
    • Golang教程之不可重入函数的实现方法
    上一篇:Go语言实现的最简单数独解法
    下一篇:Go语言实现汉诺塔算法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信