发布于2026-05-22 阅读(0)
扫一扫,手机访问
在Linux环境下使用Golang处理数据加密,标准库中的crypto包提供了强大的支持。AES(高级加密标准)作为其中一种广泛使用的对称加密算法,非常适合用于保护敏感数据。下面,我们通过一个完整的代码示例,来演示如何在Go中实现数据的加密与解密。

开始之前,请确保你的Linux系统已经安装了Golang开发环境。如果尚未安装,可以从官方网站获取并配置。
接下来,我们创建一个Go程序。新建一个名为main.go的文件,并将下面的代码复制进去。这段代码清晰地展示了加密和解密的完整流程。
package main
import (
"crypto/aes"
"crypto/cipher"
"crypto/rand"
"encoding/base64"
"fmt"
"io"
)
func main() {
key := []byte("your-secret-key-123") // 用于加密和解密的密钥,长度应为16、24或32字节
plaintext := []byte("Hello, World!") // 要加密的数据
encryptedData, err := encrypt(plaintext, key)
if err != nil {
fmt.Println("Error encrypting data:", err)
return
}
fmt.Println("Encrypted data:", base64.StdEncoding.EncodeToString(encryptedData))
decryptedData, err := decrypt(encryptedData, key)
if err != nil {
fmt.Println("Error decrypting data:", err)
return
}
fmt.Println("Decrypted data:", string(decryptedData))
}
func encrypt(plaintext, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
ciphertext := make([]byte, aes.BlockSize+len(plaintext))
iv := ciphertext[:aes.BlockSize]
if _, err := io.ReadFull(rand.Reader, iv); err != nil {
return nil, err
}
stream := cipher.NewCFBEncrypter(block, iv)
stream.XORKeyStream(ciphertext[aes.BlockSize:], plaintext)
return ciphertext, nil
}
func decrypt(ciphertext, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
if len(ciphertext) < aes.BlockSize {
return nil, fmt.Errorf("ciphertext too short")
}
iv := ciphertext[:aes.BlockSize]
ciphertext = ciphertext[aes.BlockSize:]
stream := cipher.NewCFBDecrypter(block, iv)
stream.XORKeyStream(ciphertext, ciphertext)
return ciphertext, nil
}
这段代码的核心是AES算法结合CFB(密码反馈)模式。这里有个关键点需要注意:代码中的your-secret-key-123只是一个示例,在实际部署时,务必将其替换为一个强密码学密钥,并确保其长度符合AES要求(16、24或32字节)。
代码保存后,打开终端,进入文件所在目录,执行以下命令来运行程序:
go run main.go
如果一切配置正确,终端将会输出经过Base64编码的加密字符串,以及成功解密后的原始信息“Hello, World!”。
最后需要强调的是,加密本身只是安全链条中的一环。在实际生产环境中,密钥的安全管理、存储和轮换策略同等重要,必须予以高度重视,才能有效防止数据泄露。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8