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

react+vue 前端國密算法sm2、sm3 、sm4的js ts實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了react+vue 前端國密算法sm2、sm3 、sm4的js ts實(shí)現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 簡單介紹下SM2 和 SM3

SM2 算法:是一種公鑰加密算法,它的密鑰長度為 256 位,安全性較高。可用于數(shù)字簽名、密鑰協(xié)商等場景。

SM3 算法:是一種對稱加密算法,用于消息摘要和數(shù)字簽名等場景。它的密鑰長度為 256 位,安全性較高。SM3 算法與 SM2
算法相互配合,提高了整體安全性能。

2. 接下來講前端如何實(shí)現(xiàn)

  • 安裝
npm install  sm-crypto

yarn add sm-crypto
  • sm2 、sm3 引入寫法
 require('sm-crypto').sm2
 
 require('sm-crypto').sm3
  • SM2 非對稱加密寫法

str是需要加密的字符串
cipherMode // 1 - C1C3C2,0 - C1C2C3,默認(rèn)為1
PUBLIC_KEY是后端給你的公鑰,長度為130位,記住是以04開頭

export function sm2Encrypt(str: string, cipherMode = 1) {

  const sm2 = require('sm-crypto').sm2;
  
  // 默認(rèn)生成公鑰 130 位太長,可以壓縮公鑰到 66 位
  const compressedPublicKey = sm2.compressPublicKeyHex(PUBLIC_KEY); 
  
  // compressedPublicKey 和 PUBLIC_KEY 等價(jià)
  const encryptData = sm2.doEncrypt(str, compressedPublicKey, cipherMode);
 
  // 最后一步一定要記住再拼接04
  return `04${encryptData}`;
}
代碼里面引入,加密密碼
sm2Encrypt(password,1)
  • HMAC-SM3簽名算法寫法

data是簽名加密數(shù)據(jù),例如:賬號+密碼+時(shí)間戳(需要跟后端開發(fā)協(xié)商)
pwd是是第二個參數(shù),我們這里要求的是傳密碼,要求為 16
進(jìn)制串或字節(jié)數(shù)組
,這里的strToHex方法就是將密碼轉(zhuǎn)為16進(jìn)制

export function sm3Sign(data: string, pwd: string) {
  const sm3 = require('sm-crypto').sm3;
  
  return sm3(data, { key: strToHex(pwd) });
}

將字符串轉(zhuǎn)為16進(jìn)制方法,我這里是自己封裝了一個,還有很多方法可以實(shí)現(xiàn)轉(zhuǎn)16進(jìn)制,大家可以自己百度學(xué)習(xí)

export function strToHex(str: string) {
  var hexCharCode = [];
  
  for (var i = 0; i < str.length; i++) {
    hexCharCode.push(str.charCodeAt(i).toString(16));
  }
  // 記住這里的join一定是空,不要誤打了空格
  return hexCharCode.join('');
}
代碼里面引入
sm3Sign(name+password+timestamp, password)

參考鏈接:sm2 sm3 sm4 加密實(shí)現(xiàn)
校驗(yàn)工具:在線加密解密工具文章來源地址http://www.zghlxwxcb.cn/news/detail-804407.html

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

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

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

相關(guān)文章

  • java 國密算法工具類(支持SM2 SM3 SM4)

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

    2024年02月13日
    瀏覽(26)
  • vue前端國密SM2, SM4 算法實(shí)現(xiàn)

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

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

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

    2023年04月09日
    瀏覽(24)
  • 國密算法SM2,SM3,SM4-java實(shí)現(xiàn)原理

    國密算法SM2,SM3,SM4-java實(shí)現(xiàn)原理

    SM2是國家密碼管理局于2010年12月17日發(fā)布的橢圓曲線公鑰密碼算法,基于ECC。其簽名速度與秘鑰生成速度都快于RSA,非對稱加密,該算法已公開 SM3是中華人民共和國政府采用的一種密碼散列函數(shù)標(biāo)準(zhǔn),由國家密碼管理局于2010年12月17日發(fā)布。SM3主要用數(shù)字簽名及驗(yàn)證、消息認(rèn)

    2024年02月13日
    瀏覽(39)
  • Python實(shí)現(xiàn)國家商用密碼算法sm2/sm3/sm4/sm9(國密)

    2010 年開始,我國國家密碼管理局就已經(jīng)開始陸續(xù)發(fā)布了一系列國產(chǎn)加密算法,這其中就包括 SM1、SM2、SM3 、SM4、SM7、SM9、ZUC(祖沖之加密算法)等,SM 代表商密,即商業(yè)密碼,是指用于商業(yè)的、不涉及國家秘密的密碼技術(shù)。SM1 和 SM7 的算法不公開,其余算法都已成為 ISO/IEC

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

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

    2024年02月12日
    瀏覽(36)
  • 使用 Java Bouncy Castle實(shí)現(xiàn)國密算法SM4、SM3以及SM2的加密

    使用 Java Bouncy Castle實(shí)現(xiàn)國密算法SM4、SM3以及SM2的加密

    國密算法的實(shí)現(xiàn)借助了Java庫函數(shù) Bouncy Castle,加密庫安裝使用教程請參考鏈接 SM4,又稱為商密算法,是一種分組密碼算法,于2012年由中國密碼技術(shù)研究中心(中國密碼學(xué)會成員)發(fā)布,目前已成為我國國家密碼算法,并在多個領(lǐng)域得到了廣泛的應(yīng)用。SM4算法采用了32輪迭代結(jié)

    2024年02月16日
    瀏覽(34)
  • 國密SM2/SM3算法

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

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

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

    2024年02月06日
    瀏覽(20)
  • 前端使用國密sm2和sm4進(jìn)行加解密

    國密SM:國密算法,即國家商用密碼算法。是由國家密碼管理局認(rèn)定和公布的密碼算法標(biāo)準(zhǔn)及其應(yīng)用規(guī)范,其中部分密碼算法已經(jīng)成為國際標(biāo)準(zhǔn)。如SM系列密碼,SM代表商密,即商業(yè)密碼,是指用于商業(yè)的、不涉及國家秘密的密碼技術(shù)。 安裝SM加密依賴 SM2 封裝 將sm2的加密解密

    2024年02月08日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包