Go加密与编码实现

约 2 分钟读完

Go加密与编码实现

哈希计算

import "crypto/sha256"

hash := sha256.Sum256([]byte("hello"))
fmt.Printf("%x\n", hash)

Go 标准库支持 MD5、SHA1、SHA256、SHA512 等哈希算法。

AES 加密

import "crypto/aes"

block, _ := aes.NewCipher(key)
// 使用 CBC/CTR/GCM 模式加密

RSA 加解密

import "crypto/rsa"

// 生成密钥对
privateKey, _ := rsa.GenerateKey(rand.Reader, 2048)
publicKey := &privateKey.PublicKey

// 加密
ciphertext, _ := rsa.EncryptOAEP(sha256.New(), rand.Reader, publicKey, plaintext, nil)

// 解密
plaintext, _ := rsa.DecryptOAEP(sha256.New(), rand.Reader, privateKey, ciphertext, nil)

Base64 编解码

import "encoding/base64"

encoded := base64.StdEncoding.EncodeToString([]byte("hello"))
decoded, _ := base64.StdEncoding.DecodeString(encoded)

总结

Go 的 crypto 包提供了完整的密码学实现,从哈希、对称加密到非对称加密都有原生支持。

← Go命令行工具开发 Go二进制分析基础 →