码迷,mamicode.com
首页 > 其他好文 > 详细

3.12 Checksum md5

时间:2018-03-22 01:46:05      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:sprint   gpo   func   UNC   print   new   AC   %x   code   

package main

import (
    "crypto/md5"
    "fmt"
    "io"
    "os"
)

var content = "This is content to check"

func main() {

    checksum := MD5(content)
    checksum2 := FileMD5("content.dat")

    fmt.Printf("Checksum 1: %s\n", checksum)
    fmt.Printf("Checksum 2: %s\n", checksum2)
    if checksum == checksum2 {
        fmt.Println("Content matches!!!")
    }

}

// MD5 creates the md5
// hash for given content encoded in
// hex string
func MD5(data string) string {
    h := md5.Sum([]byte(data))
    return fmt.Sprintf("%x", h)
}

// FileMD5 creates hex encoded md5 hash
// of file content
func FileMD5(path string) string {
    h := md5.New()
    f, err := os.Open(path)
    if err != nil {
        panic(err)
    }
    defer f.Close()
    _, err = io.Copy(h, f)
    if err != nil {
        panic(err)
    }
    return fmt.Sprintf("%x", h.Sum(nil))
}

/*
Checksum 1: e44f5ac2d500bde35ace3dcc34cc6bf1
Checksum 2: 2356db1a9ed7243a61ea58cd29cc7573

*/

3.12 Checksum md5

标签:sprint   gpo   func   UNC   print   new   AC   %x   code   

原文地址:https://www.cnblogs.com/zrdpy/p/8620815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!