go base64加密解密
时间: 2024-06-20 22:02:24 浏览: 85
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`尝试将其解码回原始字节。
阅读全文