Files
utils/encryptx/base64x/base64x.go
T

52 lines
1.1 KiB
Go
Raw Normal View History

2023-09-16 20:14:20 +08:00
package base64x
import "encoding/base64"
// 普通的
func Base64StdEncode(s string) string {
return base64.StdEncoding.EncodeToString([]byte(s))
}
func Base64StdDecode(sEnc string) (string, error) {
sDec, err := base64.StdEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
// URL和文件名安全的
func Base64UrlEncode(s string) string {
return base64.URLEncoding.EncodeToString([]byte(s))
}
func Base64UrlDecode(sEnc string) (string, error) {
sDec, err := base64.URLEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
// 无填充
func Base64RawEncode(s string) string {
return base64.RawStdEncoding.EncodeToString([]byte(s))
}
func Base64RawDecode(sEnc string) (string, error) {
sDec, err := base64.RawStdEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
func Base64RawUrlEncode(s string) string {
return base64.RawURLEncoding.EncodeToString([]byte(s))
}
func Base64RawUrlDecode(s string) (string, error) {
decoded, err := base64.RawURLEncoding.DecodeString(s)
return string(decoded), err
}