国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Go實(shí)現(xiàn)國(guó)密算法SM2、SM3、SM4

這篇具有很好參考價(jià)值的文章主要介紹了Go實(shí)現(xiàn)國(guó)密算法SM2、SM3、SM4。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Go依賴(lài)包

go get -u github.com/tjfoc/gmsm

SM2橢圓曲線公鑰密碼算法

SM2橢圓曲線公鑰密碼算法 Public key cryptographic algorithm SM2 based on elliptic curves
遵循的SM2標(biāo)準(zhǔn)號(hào)為: GM/T 0003.1-2012、GM/T 0003.2-2012、GM/T 0003.3-2012、GM/T 0003.4-2012、GM/T 0003.5-2012、GM/T 0009-2012、GM/T 0010-2012
依賴(lài)包:github.com/tjfoc/gmsm/sm2

    priv, err := sm2.GenerateKey(rand.Reader) // 生成密鑰對(duì)
    if err != nil {
    	log.Fatal(err)
    }
    msg := []byte("Tongji Fintech Research Institute")
    pub := &priv.PublicKey
    ciphertxt, err := pub.EncryptAsn1(msg,rand.Reader) //sm2加密
    if err != nil {
    	log.Fatal(err)
    }
    fmt.Printf("加密結(jié)果:%x\n",ciphertxt)
    plaintxt,err :=  priv.DecryptAsn1(ciphertxt)  //sm2解密
    if err != nil {
    	log.Fatal(err)
    }
    if !bytes.Equal(msg,plaintxt){
        log.Fatal("原文不匹配")
    }

   sign,err := priv.Sign(rand.Reader, msg, nil)  //sm2簽名
    if err != nil {
    	log.Fatal(err)
    }
    isok := pub.Verify(msg, sign)    //sm2驗(yàn)簽
    fmt.Printf("Verified: %v\n", isok)

SM3密碼雜湊算法

SM3密碼雜湊算法 - SM3 cryptographic hash algorithm
遵循的SM3標(biāo)準(zhǔn)號(hào)為: GM/T 0004-2012
依賴(lài)包:github.com/tjfoc/gmsm/sm3

    data := "test"
    h := sm3.New()
    h.Write([]byte(data))
    sum := h.Sum(nil)
    fmt.Printf("digest value is: %x\n",sum)

SM4分組密碼算法

SM4分組密碼算法 - SM4 block cipher algorithm
遵循的SM4標(biāo)準(zhǔn)號(hào)為: GM/T 0002-2012
依賴(lài)包:github.com/tjfoc/gmsm/sm4文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-558647.html

    import  "crypto/cipher"
    import  "github.com/tjfoc/gmsm/sm4"
    import "fmt"

    func main(){
    key := []byte("1234567890abcdef")
	fmt.Printf("key = %v\n", key)
	data := []byte{0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10}
	fmt.Printf("key = %v\n", key)
	fmt.Printf("data = %x\n", data)
    iv := []byte("0000000000000000")
	err = SetIV(iv)//設(shè)置SM4算法實(shí)現(xiàn)的IV值,不設(shè)置則使用默認(rèn)值
	ecbMsg, err :=sm4.Sm4Ecb(key, data, true)   //sm4Ecb模式pksc7填充加密
	if err != nil {
		t.Errorf("sm4 enc error:%s", err)
		return
	}
	fmt.Printf("ecbMsg = %x\n", ecbMsg)
	ecbDec, err := sm4.Sm4Ecb(key, ecbMsg, false)  //sm4Ecb模式pksc7填充解密
	if err != nil {
		t.Errorf("sm4 dec error:%s", err)
		return
	}
	fmt.Printf("ecbDec = %x\n", ecbDec)
    }

到了這里,關(guān)于Go實(shí)現(xiàn)國(guó)密算法SM2、SM3、SM4的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 國(guó)密算法概述、及算法的集成應(yīng)用(sm2、sm3、sm4)

    國(guó)密算法概述、及算法的集成應(yīng)用(sm2、sm3、sm4)

    由于項(xiàng)目的需求,需要集成國(guó)密加解密,于是對(duì)國(guó)密又溫故知新了一遍。同時(shí)整理了一下國(guó)密的一些算法。 本文主要從國(guó)密相關(guān)算法的簡(jiǎn)介、應(yīng)用系統(tǒng)的集成、工具類(lèi)的封裝等方面入手,對(duì)國(guó)密進(jìn)行深入的學(xué)習(xí)。 為了保障商用密碼的安全性,國(guó)家密碼局制定了一系列密碼標(biāo)

    2024年02月14日
    瀏覽(30)
  • java 國(guó)密算法工具類(lèi)(支持SM2 SM3 SM4)

    前言 工具采用BC庫(kù)實(shí)現(xiàn),支持前后端加解密,前端建議使用sm-crypto 引入pom依賴(lài) 基本使用如下 國(guó)密SM2算法 國(guó)密SM3算法 國(guó)密SM4算法使用

    2024年02月13日
    瀏覽(26)
  • vue中使用國(guó)密算法SM2、SM3、SM4

    gm-crypto相關(guān)文檔:https://gitcode.net/mirrors/byte-fe/gm-crypto?utm_source=csdn_github_accelerator vue3+element ui例子:https://gitee.com/huanglgln/vue-sys-manage-el ?vue3+view ui例子:https://gitee.com/huanglgln/vue-sys-manage ?vue3+Ant Design Vue ui例子:https://gitee.com/huanglgln/vue-sys-manage-adv?

    2024年02月15日
    瀏覽(34)
  • 新手入門(mén) | 掌握國(guó)密算法:新手指南: SM2 / SM3 / SM4密碼算法詳解

    在密碼學(xué)領(lǐng)域,有多種加密與簽名算法,它們?cè)谛畔踩I(lǐng)域發(fā)揮著舉足輕重的作用。如今,隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)安全已經(jīng)成為各類(lèi)信息系統(tǒng)完整性、可用性、保密性的重要保障,越來(lái)越多的國(guó)產(chǎn)密碼算法得到了廣泛的應(yīng)用與關(guān)注。在本文中,我們將重點(diǎn)介紹三個(gè)經(jīng)

    2024年02月12日
    瀏覽(36)
  • vue普通加密以及國(guó)密SM2、SM3、sm4的使用

    sm-crypto:https://www.npmjs.com/package/sm-crypto 1. SM2是非對(duì)稱(chēng)加密算法 它是基于橢圓曲線密碼的公鑰密碼算法標(biāo)準(zhǔn),其秘鑰長(zhǎng)度256bit,包含數(shù)字簽名、密鑰交換和公鑰加密,用于替換RSA/DH/ECDSA/ECDH等國(guó)際算法??梢詽M足電子認(rèn)證服務(wù)系統(tǒng)等應(yīng)用需求,由國(guó)家密碼管理局于2010年12月17號(hào)

    2023年04月09日
    瀏覽(24)
  • 前端國(guó)密加解密使用方法SM2、SM3、SM4

    ? ?國(guó)密算法,即國(guó)家商用密碼算法。是由國(guó)家密碼管理局認(rèn)定和公布的密碼算法標(biāo)準(zhǔn)及其應(yīng)用規(guī)范,其中部分密碼算法已經(jīng)成為國(guó)際標(biāo)準(zhǔn)。如SM系列密碼,SM代表商密,即商業(yè)密碼,是指用于商業(yè)的、不涉及國(guó)家秘密的密碼技術(shù)。 ? ? ?不多廢話直接上干貨 項(xiàng)目中 可能存在

    2023年04月09日
    瀏覽(103)
  • vue前端國(guó)密SM2, SM4 算法實(shí)現(xiàn)

    整體加密邏輯是,首先生成16位key值 用SM2 公鑰加密該key值,后端用sm2私鑰 解密出key值,然后采用sm4方法根據(jù)key值對(duì)返回值進(jìn)行加密,前端采用sm4 對(duì)后端返回結(jié)果進(jìn)行解密進(jìn)行前端展示 目前主要常用的國(guó)密算法有sm-crypto,gm-crypto,gm-crypt(SM4) 1、安裝 sm-crypto 2、包裝加解密

    2024年02月12日
    瀏覽(55)
  • 密碼算法(SM1、SM2、SM3、SM4、同態(tài)加密、密態(tài)計(jì)算、隱私計(jì)算和安全多方計(jì)算)

    密碼算法(SM1、SM2、SM3、SM4、同態(tài)加密、密態(tài)計(jì)算、隱私計(jì)算和安全多方計(jì)算)

    SM1、SM2、SM3和SM4 為了保障商用密碼的安全性,國(guó)家密碼局制定了一系列密碼標(biāo)準(zhǔn),包括:SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖沖之密碼算法(ZUC) 等。 SM1、SM4、SM7、祖沖之密碼(ZUC)是對(duì)稱(chēng)算法。 SM2、SM9是非對(duì)稱(chēng)算法。 SM3是哈希算法。 SM1、SM7算法不公開(kāi),調(diào)用該算法時(shí),

    2024年02月03日
    瀏覽(26)
  • 國(guó)密SM2/SM3算法

    分類(lèi) 1、SM1是一種分組加密算法 對(duì)稱(chēng)加密算法中的分組加密算法,其分組長(zhǎng)度、秘鑰長(zhǎng)度都是128bit,算法安全保密強(qiáng)度跟 AES 相當(dāng),但是算法不公開(kāi),僅以IP核的形式存在于芯片中,需要通過(guò)加密芯片的接口進(jìn)行調(diào)用。 采用該算法已經(jīng)研制了系列芯片、智能IC卡、智能密碼鑰匙

    2024年02月05日
    瀏覽(22)
  • 國(guó)密算法SM2、SM3的使用

    1. SM2是非對(duì)稱(chēng)加密算法 ????????它是基于橢圓曲線密碼的公鑰密碼算法標(biāo)準(zhǔn),其秘鑰長(zhǎng)度256bit,包含數(shù)字簽名、密鑰交換和公鑰加密,用于替換RSA/DH/ECDSA/ECDH等國(guó)際算法??梢詽M足電子認(rèn)證服務(wù)系統(tǒng)等應(yīng)用需求,由國(guó)家密碼管理局于2010年12月17號(hào)發(fā)布。 2.SM3是一種密碼雜湊

    2024年02月06日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包