vue使用國密(sm2)

介紹

國密即國家密碼局認定的國產密碼算法。主要有SM1,SM2,SM3,SM4。密鑰長度和分組長度均爲128位。
1:SM1 爲對稱加密。其加密強度與AES相當。該算法不公開,調用該算法時,需要通過加密芯片的接口進行調用。
2:SM2爲非對稱加密,基於ECC。該算法已公開。由於該算法基於ECC,故其簽名速度與祕鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快於RSA。
3:SM3 消息摘要。可以用MD5作爲對比理解。該算法已公開。校驗結果爲256位。
4:SM4 無線局域網標準的分組數據算法。對稱加密,密鑰長度和分組長度均爲128位。

安裝依賴

npm install --save sm-crypto

使用

加密:
export function doEncrypt(msgString) { 
    let msg = msgString;
    if (typeof (msgString) !== 'string') {
        msg = JSON.stringify(msgString);
    }
    let sm2 = require('sm-crypto').sm2;
    let cipherMode = 0; // 1 - C1C3C2,0 - C1C2C3,默認爲1
    let publicKey = 'xxxxxxx'; // 公鑰
    let encryptData = sm2.doEncrypt(msg, publicKey, cipherMode); // 加密結果
    return encryptData;
}

我司爲什麼採用國密呢?

  1. 國家密碼局認定的國產密碼算法,安全性更高更可靠
  2. 支持多端語言,我們之前是打算使用AES的,因爲iOS端AES加密有問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章