17 lines
365 B
Go
17 lines
365 B
Go
package mapping
|
|
|
|
import (
|
|
"crypto/sha1"
|
|
"encoding/hex"
|
|
"strings"
|
|
)
|
|
|
|
func GenerateCheckID(sourceSystem, dataType, sourceRecordID, version string) string {
|
|
parts := []string{sourceSystem, dataType, sourceRecordID}
|
|
if version != "" {
|
|
parts = append(parts, version)
|
|
}
|
|
sum := sha1.Sum([]byte(strings.Join(parts, "|")))
|
|
return hex.EncodeToString(sum[:])[:20]
|
|
}
|