package main
import "fmt"
(
"bytes"
"crypto/cipher"
"crypto/des"
"fmt"
"golang.org/x/text/encoding/simplifiedchinese"
)
func main() {
key := []byte("12345678abcdefghabcdefgh")
iv := []byte("12345678")
plainText := "你好,世界!"
encoder := simplifiedchinese.GBK.NewEncoder()
gbkText, err := encoder.String(plainText)
if err != nil {
fmt.Println("GBK encoding error:", err)
return
}
block, err := des.NewTripleDESCipher(key)
if err != nil {
fmt.Println("3DES cipher error:", err)
return
}
encrypted := make([]byte, len(gbkText))
blockMode := cipher.NewCBCEncrypter(block, iv)
blockMode.CryptBlocks(encrypted, []byte(gbkText))
fmt.Printf("加密结果(16进制): %x\n", encrypted)
}