Use crypto-js para criptografia e descriptografia em nuxtjs

Crie um novo utils.js na pasta utils

import CryptoJS from 'crypto-js'
const key = CryptoJS.enc.Utf8.parse("1234567890000000");
const iv = CryptoJS.enc.Utf8.parse("1234567890000000");
export default (app,inject) => {
    inject('encrypt',word=>{
        let encrypted = "";
        if (typeof word == "string") {
            encrypted = CryptoJS.AES.encrypt(word, key, { iv: iv }).toString()
        } else if (typeof word == "object") {
            const data = JSON.stringify(word);
            encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv }).toString()
        }
        return encrypted;
    })

    inject('decrypt',word=>{
        const decryptedStr = CryptoJS.AES.decrypt(word, key, { iv: iv }).toString(CryptoJS.enc.Utf8)
        return decryptedStr.toString();
    })
    
}

 Introduzido em nuxt.config.js

export default {

  plugins: [
    '@/utils/utils',
  ],
 
}

Usado em componentes:

export default{
    //在asyncData中使用
    asyncData(app){
       //加密
        const str = app.$encrypt('123455')
        //解密
        const str2 = app.$decrypt(str)
    },
    //在methods中使用的话可以直接通过this.$encrypt和this.$decrypt进行加解密
}

おすすめ

転載: blog.csdn.net/Lsir1998/article/details/131409175