From 6ccf516c58e70fc05b7715921413bee67bdbe612 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Fri, 24 Dec 2021 12:39:02 +0800 Subject: [PATCH] update --- util/encode.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 util/encode.go diff --git a/util/encode.go b/util/encode.go new file mode 100644 index 0000000..28f3f87 --- /dev/null +++ b/util/encode.go @@ -0,0 +1,33 @@ +package util + +import "encoding/base64" + +const DEFAULT_KEY = "kumoly.io/kumoly/app/util" + +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 +}