You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/utils/gobase64/gobase64.go

35 lines
817 B

package gobase64
import (
"encoding/base64"
"go.dtapp.net/library/utils/gophp"
)
// Encode base64编码
func Encode(input string) string {
return base64.StdEncoding.EncodeToString([]byte(input))
}
// Decode base64解码
func Decode(input string) string {
decodeString, err := base64.StdEncoding.DecodeString(input)
if err != nil {
return ""
}
return string(decodeString)
}
// EncodeUrl Base64安全URL编码
func EncodeUrl(input string) string {
return gophp.Rtrim(gophp.Strtr(base64.StdEncoding.EncodeToString([]byte(input)), "+/", "-_"), "=")
}
// DecodeUrl Base64安全URL解码
func DecodeUrl(input string) string {
decodeString, err := base64.StdEncoding.DecodeString(gophp.StrPad(gophp.Strtr(input, "-_", "+/"), len(input)/4, "="))
if err != nil {
return ""
}
return string(decodeString)
}