golang实现sm4加密解密示例代码
代码语言:golang
所属分类:其他
代码描述:golang实现sm4加密解密示例代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main import ( "fmt" "github.com/tjfoc/gmsm/sm4" ) func main() { key := []byte("1234567890abcdef") fmt.Printf("key = %v\n", key) dataStr := "it 社区 bfw" // 将字符串转换为字节切片 data := []byte(dataStr) // 加密与解密 using ECB mode(电子密码本模式) ecbMsg, err := sm4.Sm4Ecb(key, data, true) if err != nil { fmt.Errorf("sm4 加密错误: %s", err) return } fmt.Printf("ecbMsg = %x\n", ecbMsg) ecbDec, err := sm4.Sm4Ecb(key, ecbMsg, false) if err != nil { fmt.Errorf("sm4 解密错误: %s", err) return } fmt.Printf("ecbDec = %s\n", ecbDec) // 加密与解密 using CBC mode(密码分组链接模式) iv := []byte("0000000000000000") err = sm4.SetIV(iv) if err != nil { fmt.Printf("err = %v\n", err) } cbcMsg, err := sm4.Sm4Cbc(key, data, true) if err != nil { fmt.Errorf("sm4 加密错误: %s", err) return } fmt.Printf("cbcMsg = %x\n", cbcMsg) cbcDec, err := sm4.Sm4Cbc(key, cbcMsg, false) if err != nil { .........完整代码请登录后点击上方下载按钮下载查看
网友评论0