github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/azure/functions/unique_string.go (about)

     1  package functions
     2  
     3  import (
     4  	"crypto/sha256"
     5  	"fmt"
     6  	"strings"
     7  )
     8  
     9  func UniqueString(args ...interface{}) interface{} {
    10  	if len(args) == 0 {
    11  		return ""
    12  	}
    13  
    14  	hashParts := make([]string, len(args))
    15  	for i, str := range args {
    16  		hashParts[i] = str.(string)
    17  	}
    18  
    19  	hash := sha256.New().Sum([]byte(strings.Join(hashParts, "")))
    20  	return fmt.Sprintf("%x", hash)[:13]
    21  }