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編碼,最后,我們對加密后的數據進行解密處理,并還原成原始數據,驗證加密程序處理是否正確。
上一篇python 提升百度
下一篇HTML當當網案列源代碼