package xorenc import "encoding/base64" var DEFAULT_KEY = "kumoly.io/lib/xorencrypt" func Decrypt(msg, key string) (string, error) { if key == "" { key = DEFAULT_KEY } deb64, err := base64.URLEncoding.DecodeString(msg) if err != nil { return "", err } dec := xor(deb64, []byte(key)) return string(dec), nil } func Encrypt(msg, key string) string { if key == "" { key = DEFAULT_KEY } enc := xor([]byte(msg), []byte(key)) return base64.URLEncoding.EncodeToString(enc) } func xor(msg, key []byte) []byte { ret := make([]byte, len(msg)) for i := 0; i < len(msg); i++ { ret[i] = msg[i] ^ key[i%len(key)] } return ret }