• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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)
    }
    

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

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

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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