主页 > 知识库 > Go语言常见哈希函数的使用

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语言常见哈希函数的使用》相关的同类信息!
  • 本页收集关于Go语言常见哈希函数的使用的相关信息资讯供网民参考!
  • 推荐文章