自学内容网 自学内容网

前端sm2国密加密时注意

如下方法:

export function encrypt(str) {
    
    const sm2 = require("sm-crypto").sm2;
    const cipherMode = 1; // 1 - C1C3C2,0 - C1C2C3,默认为1
   
    //自定义密钥
    let publicKey = "xxxxxxxx";
    //此处加密
    let a = sm2.doEncrypt(str, publicKey, cipherMode);
    //解密
    // var b=sm2.doDecrypt(a,privateKey,cipherMode) // 解密结果
    return a;
}

注意:如果此时的str为数字类型时,正常会解密失败。故需要先保证str为字符串类型,也可以在方法里强制转为字符串。

查看源码可知,如果不是字符串走的不一样:


原文地址:https://blog.csdn.net/z858466/article/details/142528886

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!