github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/cache/hash.go (about)

     1  package cache
     2  
     3  import (
     4  	"crypto/sha256"
     5  	"encoding/base64"
     6  	"strings"
     7  )
     8  
     9  func CreateHash(exe string, args []string, block []rune) string {
    10  	argv := exe + " " + strings.Join(args, " ")
    11  	code := []byte(string(block))
    12  
    13  	hash := sha256.New()
    14  	_, err := hash.Write(append([]byte(argv), code...))
    15  	if err != nil {
    16  		return argv
    17  	}
    18  
    19  	return base64.StdEncoding.EncodeToString(hash.Sum(nil))
    20  }