diff --git a/pkg/util/salt.go b/pkg/util/salt.go new file mode 100644 index 000000000..26a3fe3a4 --- /dev/null +++ b/pkg/util/salt.go @@ -0,0 +1,17 @@ +package util + +// SaltXOR xors bits of data with salt +// repeating salt if necessary. +func SaltXOR(data, salt []byte) (result []byte) { + result = make([]byte, len(data)) + ls := len(salt) + if ls == 0 { + copy(result, data) + return + } + + for i := range result { + result[i] = data[i] ^ salt[i%ls] + } + return +}