zoukankan      html  css  js  c++  java
  • 3.12 Checksum md5

    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
    ", checksum)
    	fmt.Printf("Checksum 2: %s
    ", 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
    
    */
    
    
  • 相关阅读:
    sql,linq基础再一次学习
    position与aop
    java基础常用类!
    JNI初步!
    java基础动态代理!
    java基础面向对象!
    php初步!
    java基础泛型!
    java基础对象多态性!
    java基础io流!
  • 原文地址:https://www.cnblogs.com/zrdpy/p/8620815.html
Copyright © 2011-2022 走看看