色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go 加密json

謝彥文2年前10瀏覽0評論

Go語言是一門支持數據加密的編程語言,在實際應用中,加密json數據是非常常見的場景。本文將介紹如何使用Go語言進行json數據的加密處理:

package main
import (
"crypto/aes"
"crypto/cipher"
"encoding/base64"
"encoding/json"
"log"
)
type User struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
// 1.原始數據
user := User{Name: "張三", Age: 20}
rawData, err := json.Marshal(user)
if err != nil {
log.Fatal(err)
}
// 2.加密數據
block, _ := aes.NewCipher([]byte("1234567812345678"))
iv := []byte("1234567812345678")
cipherText := make([]byte, len(rawData))
stream := cipher.NewCTR(block, iv)
stream.XORKeyStream(cipherText, rawData)
// 3.將加密數據進行base64編碼
encodeText := base64.StdEncoding.EncodeToString(cipherText)
log.Println("加密后的數據:", encodeText)
// 4.解密數據
decodeText, _ := base64.StdEncoding.DecodeString(encodeText)
plainText := make([]byte, len(decodeText))
stream = cipher.NewCTR(block, iv)
stream.XORKeyStream(plainText, decodeText)
log.Println("解密后的數據:", string(plainText))
}

上述代碼演示了如何對json數據進行加密處理,首先使用json.Marshal將數據進行序列化處理,并聲明加密密鑰和初始化向量,然后使用AES算法進行數據加密,并將加密后的數據進行base64編碼,最后,我們對加密后的數據進行解密處理,并還原成原始數據,驗證加密程序處理是否正確。