编辑代码

package main
import "fmt"
(
	"bytes"
	"crypto/cipher"
	"crypto/des"
	"fmt"
	"golang.org/x/text/encoding/simplifiedchinese"
)



func main() {
	key := []byte("12345678abcdefghabcdefgh") // 24字节的密钥
	iv := []byte("12345678")                // 8字节的初始向量
	plainText := "你好,世界!"                      // 需要加密的中文文本

	// 将中文文本转换为GBK编码
	encoder := simplifiedchinese.GBK.NewEncoder()
	gbkText, err := encoder.String(plainText)
	if err != nil {
		fmt.Println("GBK encoding error:", err)
		return
	}

	// 3DES加密
	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)
}