在 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 方法,可以创建一个自定义的编码器。然后,使用该编码器对数据进行编码,得到的结果就不会包含斜杠了。

golang base64 加密如何不要斜杠

原文地址: https://www.cveoy.top/t/topic/tGk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录