mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			574 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			574 B
		
	
	
	
		
			Go
		
	
	
	
package util
 | 
						|
 | 
						|
import (
 | 
						|
	"crypto/md5"
 | 
						|
	"encoding/hex"
 | 
						|
	"io"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
// Md5Sum calculates the md5sum of a stream
 | 
						|
func Md5Sum(reader io.Reader) (string, error) {
 | 
						|
	var returnMD5String string
 | 
						|
	hash := md5.New()
 | 
						|
	if _, err := io.Copy(hash, reader); err != nil {
 | 
						|
		return returnMD5String, err
 | 
						|
	}
 | 
						|
	hashInBytes := hash.Sum(nil)[:16]
 | 
						|
	returnMD5String = hex.EncodeToString(hashInBytes)
 | 
						|
	return returnMD5String, nil
 | 
						|
}
 | 
						|
 | 
						|
// Md5SumString calculates the md5sum of a string
 | 
						|
func Md5SumString(input string) (string, error) {
 | 
						|
	buffer := strings.NewReader(input)
 | 
						|
	return Md5Sum(buffer)
 | 
						|
}
 |