diff --git a/Go/xor.go b/Go/xor.go index ac82ecc..dff85dd 100644 --- a/Go/xor.go +++ b/Go/xor.go @@ -1,11 +1,15 @@ package xor +import "strings" + // EncryptDecrypt runs a XOR encryption on the input string, encrypting it if it hasn't already been, // and decrypting it if it has, using the key provided. -func EncryptDecrypt(input, key string) (output string) { +func EncryptDecrypt(input, key string) string { kL := len(key) - for i := range input { - output += string(input[i] ^ key[i%kL]) + + var tmp []string + for i := 0; i < len(input); i++ { + tmp = append(tmp, string(input[i]^key[i%kL])) } - return output + return strings.Join(tmp, "") }