go语言base64加解密
时间: 2023-09-20 20:08:59 浏览: 170
可以使用 Go 语言内置的 encoding/base64 包进行 base64 编码和解码操作。base64编码是将数据转换为可打印字符的过程,而 base64解码是将编码后的数据还原为原始数据的过程。在 Go 中,可以使用如下代码进行 base64 编码和解码:
// base64编码
str := "hello world"
encodedStr := base64.StdEncoding.EncodeToString([]byte(str))
// base64解码
decodedStr, _ := base64.StdEncoding.DecodeString(encodedStr)
注意,上述代码中的第二个返回值需要进行错误处理,否则会产生运行时错误。
相关问题
go base64加密解密
Go语言中的Base64编码和解码是常见的数据转换操作,用于将二进制数据编码为可打印的ASCII字符。下面是如何使用Go的内置库`encoding/base64`进行Base64编码和解码:
1. **Base64编码**:
```go
package main
import (
"encoding/base64"
"fmt"
)
func encodeData(data []byte) string {
encoded := base64.StdEncoding.EncodeToString(data)
return encoded
}
func main() {
input := []byte("Hello, World!")
encodedData := encodeData(input)
fmt.Println("Encoded data:", encodedData)
}
```
在这个例子中,`encodeData`函数接收一个字节切片,然后使用`StdEncoding.EncodeToString`方法将其转换为Base64字符串。
2. **Base64解码**:
```go
func decodeData(encodedStr string) ([]byte, error) {
decoded, err := base64.StdEncoding.DecodeString(encodedStr)
if err != nil {
return nil, err
}
return decoded, nil
}
func main() {
encodedData := "SGVsbG8sIFdvcmxkIQ=="
decodedBytes, err := decodeData(encodedData)
if err == nil {
fmt.Println("Decoded data:", string(decodedBytes))
} else {
fmt.Println("Error decoding:", err)
}
}
```
`decodeData`函数接受一个Base64编码的字符串,用`StdEncoding.DecodeString`尝试将其解码回原始字节。
用go实现base64加解密
好的,以下是使用Go语言实现Base64加解密的示例代码:
```go
package main
import (
"encoding/base64"
"fmt"
)
func main() {
text := "Hello, World!"
// 加密
encoded := base64.StdEncoding.EncodeToString([]byte(text))
fmt.Println("Encoded:", encoded)
// 解密
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("Decoding error:", err)
return
}
fmt.Println("Decoded:", string(decoded))
}
```
运行以上代码,输出结果如下:
```
Encoded: SGVsbG8sIFdvcmxkIQ==
Decoded: Hello, World!
```
使用`base64.StdEncoding`可以进行Base64加解密操作。`EncodeToString`将字节数组编码为Base64字符串,`DecodeString`将Base64字符串解码为字节数组。
阅读全文