github.com/blend/go-sdk@v1.20220411.3/fileutil/etag.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package fileutil 9 10 import ( 11 "crypto/md5" 12 "encoding/hex" 13 14 "github.com/blend/go-sdk/ex" 15 ) 16 17 // ETag creates an etag for a given blob. 18 func ETag(contents []byte) (string, error) { 19 hash := md5.New() 20 _, err := hash.Write(contents) 21 if err != nil { 22 return "", ex.New(err) 23 } 24 return hex.EncodeToString(hash.Sum(nil)), nil 25 }