base64
package main
import (
"encoding/base64"
"fmt"
"strings"
)
//Base64UrlSafeEncode 需要替换掉一些字符
func Base64UrlSafeEncode(source []byte) string {
// Base64 Url Safe is the same as Base64 but does not contain '/' and '+' (replaced by '_' and '-') and trailing '=' are removed.
bytearr := base64.StdEncoding.EncodeToString(source)
safeurl := strings.Replace(string(bytearr), "/", "_", -1)
safeurl = strings.Replace(safeurl, "+", "-", -1)
safeurl = strings.Replace(safeurl, "=", "", -1)
return safeurl
}
func main() {
//标准base64编码
wait_encode_data := "reformerreformer"
wait_decode_data := "cmVmb3JtZXJyZWZvcm1lcg"
//使用标准库自带的方式加密
sEnc := base64.StdEncoding.EncodeToString([]byte(wait_encode_data))
fmt.Println(sEnc)
sDec, _ := base64.StdEncoding.DecodeString("cmVmb3JtZXJyZWZvcm1lcg==")
fmt.Println(string(sDec))
//兼容base64编码
uEnc := base64.URLEncoding.EncodeToString([]byte(wait_encode_data))
fmt.Println(uEnc)
uDec, _ := base64.URLEncoding.DecodeString(wait_decode_data)
fmt.Println(string(uDec))
}