123456789101112131415161718192021222324252627282930313233 |
- // base64url provides base64url encoding/decoding functions
- package base64
- import (
- "encoding/base64"
- "strings"
- )
- // decodes base64url string to bytes
- func DecodeURL(data string) ([]byte, error) {
- data = strings.Replace(data, "-", "+", -1)
- data = strings.Replace(data, "_", "/", -1)
- switch len(data) % 4 {
- case 0:
- case 2:
- data += "=="
- case 3:
- data += "="
- }
- return base64.StdEncoding.DecodeString(data)
- }
- // encodes given bytes to base64url string
- func EncodeURL(data []byte) string {
- result := base64.StdEncoding.EncodeToString(data)
- result = strings.Replace(result, "+", "-", -1)
- result = strings.Replace(result, "/", "_", -1)
- result = strings.Replace(result, "=", "", -1)
- return result
- }
|