[vue+sm2] La interfaz utiliza el secreto nacional sm2 para cifrar y descifrar

1. El primer paso es instalar las dependencias

 npm install --save sm-crypto

2. importar sm2

 const sm2 = require('sm-crypto').sm2

3. Primero defina la clave privada o clave pública, la clave privada es para descifrar y la clave pública es para cifrar

var privateKey = "私钥";//解密使用
var publicKey  = "公钥";//加密使用

4. Establecer el modo de cifrado

//cipherMode [加密模式 C1C3C2:1, C1C2C3:0]
    const cipherMode = 1;//默认是1

5. Use el código completo para el descifrado

 

页面代码直接@click绑定getphone即可单击实现



 data() {
    return {
          copyphone:'',
     }}
methods: {
    getphone(){
        const sm2 = require('sm-crypto').sm2;
       
        //
        var privateKey = "私钥";
        var encrText = 需要解密的字段; 
        //有04要截 var encrText = val.substring(2);val是后台传过来的加密字段,将‘04’截取掉
        const cipherMode = 1
        let decryptData = sm2.doDecrypt(encrText, privateKey, cipherMode) // 解密结果
        return decryptData ;
        this.copyphone = decryptData;//赋值方便处理
        console.log(this.copyphone);//直接打印出来看是否实现
                 }
           }

6. La realización del cifrado es código completo


页面代码直接@click绑定getphone即可单击实现



 data() {
    return {
          copyphone:'',
          phone:'123545687',

     }}
methods: {
    getphone(){
        const sm2 = require('sm-crypto').sm2;
        var publicKey  = "公钥";//加密使用
        var encrText = 需要加密的字段;//例如var enxrText = this.phone;
        const cipherMode = 1;
        let decryptData = sm2.doDecrypt(encrText, publicKey, cipherMode) // 加密结果
        return '04' + decryptData;//04可不要具体看后端要求
       
      
                 }
           }

Supongo que te gusta

Origin blog.csdn.net/qq_46057971/article/details/128224102
Recomendado
Clasificación