佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Go語言常見哈希函數(shù)的使用

Go語言常見哈希函數(shù)的使用

熱門標(biāo)簽:百度競價排名 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 AI電銷 鐵路電話系統(tǒng) 呼叫中心市場需求 地方門戶網(wǎng)站 服務(wù)外包

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", "采用的哈西函數(shù):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)
}

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

您可能感興趣的文章:
  • Go語言中append函數(shù)用法分析
  • GO語言延遲函數(shù)defer用法分析
  • Go語言中普通函數(shù)與方法的區(qū)別分析
  • Go語言的os包中常用函數(shù)初步歸納
  • 舉例講解Go語言中函數(shù)的閉包使用
  • Go語言里的new函數(shù)用法分析
  • Golang的os標(biāo)準(zhǔn)庫中常用函數(shù)的整理介紹
  • 深入解析golang編程中函數(shù)的用法
  • Golang學(xué)習(xí)筆記(五):函數(shù)
  • Golang教程之不可重入函數(shù)的實現(xiàn)方法

標(biāo)簽:仙桃 蘭州 黃山 衡水 湖南 湘潭 崇左 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言常見哈希函數(shù)的使用》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    秦皇岛市| 滁州市| 炉霍县| 三穗县| 札达县| 灌阳县| 化州市| 呼玛县| 丹巴县| 锡林浩特市| 长宁县| 金塔县| 肇州县| 长沙县| 永昌县| 固安县| 理塘县| 乌鲁木齐县| 清水河县| 唐山市| 新巴尔虎左旗| 雷州市| 西充县| 石阡县| 乌苏市| 峨边| 印江| 剑阁县| 炎陵县| 扎兰屯市| 大连市| 酒泉市| 曲阜市| 乐陵市| 皮山县| 天台县| 宜兴市| 周口市| 平远县| 吴川市| 嘉禾县|