golang base64 加密如何不要斜杠
在 Golang 中,使用标准库中的 base64 包进行加密时,不可避免地会出现斜杠。原因是 base64 编码使用了 64 个字符(A-Z、a-z、0-9、+、/),其中斜杠“/”就是其中一个字符。
如果你希望在加密时不要出现斜杠,可以使用自定义的字符集来替换原来的字符集,例如:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
str := "Hello, world!"
b := []byte(str)
// 自定义字符集,不包含斜杠
base64Table := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
encoder := base64.NewEncoding(base64Table)
encodedStr := encoder.EncodeToString(b)
fmt.Println(encodedStr) // "SGVsbG8sIHdvcmxkIQ=="
}
这里使用了自定义的字符集,不包含斜杠。通过调用 base64.NewEncoding 方法,可以创建一个自定义的编码器。然后,使用该编码器对数据进行编码,得到的结果就不会包含斜杠了。
原文地址: https://www.cveoy.top/t/topic/tGk 著作权归作者所有。请勿转载和采集!