Go加密与编码实现
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 包提供了完整的密码学实现,从哈希、对称加密到非对称加密都有原生支持。