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
1
使用

加密:
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;

我司為什么采用國密呢?

國家密碼局認定的國產密碼算法,安全性更高更可靠
支持多端語言,我們之前是打算使用AES的,因為iOS端AES加密有問題

————————————————
版權聲明:本文為CSDN博主「Liingot」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_39773218/article/details/106710352


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM