文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue怎么使用base64加密

2023-07-02 09:48

关注

本篇内容主要讲解“vue怎么使用base64加密”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么使用base64加密”吧!

vue项目使用base64加密

vue-cli 脚手架搭建前端项目中,使用base64加密传输数据

方法一

安装依赖

npm install --save js-base64

在main.js中引入

import Base64 from 'js-base64'Vue.use(Base64)

使用

Base64.encode(this.pwd);//加密Base64.decode(this.pwd);//解密

方法二

在utils 文件夹下创建base64.js,写入下面代码

//1.加密解密方法使用://1.加密// var str = '124中文内容';// var base = new Base64();// var result = base.encode(str);// //document.write(result);// //2.解密// var result2 = base.decode(result);// document.write(result2);// //2.加密、解密算法封装:function Base64() {    // private property    var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";    // public method for encoding    this.encode = function (input) {    if(!input){ console.log('请传入要加密的值') return}        var output = "";        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;        var i = 0;        input = _utf8_encode(input);        while (i < input.length) {            chr1 = input.charCodeAt(i++);            chr2 = input.charCodeAt(i++);            chr3 = input.charCodeAt(i++);            enc1 = chr1 >> 2;            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);            enc4 = chr3 & 63;            if (isNaN(chr2)) {                enc3 = enc4 = 64;            } else if (isNaN(chr3)) {                enc4 = 64;            }            output = output +            _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +            _keyStr.charAt(enc3) + _keyStr.charAt(enc4);        }        return output;    }    // public method for decoding    this.decode = function (input) {    if(!input){ console.log('请传入要解密的值') return}        var output = "";        var chr1, chr2, chr3;        var enc1, enc2, enc3, enc4;        var i = 0;        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");        while (i < input.length) {            enc1 = _keyStr.indexOf(input.charAt(i++));            enc2 = _keyStr.indexOf(input.charAt(i++));            enc3 = _keyStr.indexOf(input.charAt(i++));            enc4 = _keyStr.indexOf(input.charAt(i++));            chr1 = (enc1 << 2) | (enc2 >> 4);            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);            chr3 = ((enc3 & 3) << 6) | enc4;            output = output + String.fromCharCode(chr1);            if (enc3 != 64) {                output = output + String.fromCharCode(chr2);            }            if (enc4 != 64) {                output = output + String.fromCharCode(chr3);            }        }        output = _utf8_decode(output);        return output;    }    // private method for UTF-8 encoding    var _utf8_encode = function (string) {        string = string.replace(/\r\n/g,"\n");        var utftext = "";        for (var n = 0; n < string.length; n++) {            var c = string.charCodeAt(n);            if (c < 128) {                utftext += String.fromCharCode(c);            } else if((c > 127) && (c < 2048)) {                utftext += String.fromCharCode((c >> 6) | 192);                utftext += String.fromCharCode((c & 63) | 128);            } else {                utftext += String.fromCharCode((c >> 12) | 224);                utftext += String.fromCharCode(((c >> 6) & 63) | 128);                utftext += String.fromCharCode((c & 63) | 128);            }        }        return utftext;    }    // private method for UTF-8 decoding   var  _utf8_decode = function (utftext) {        var string = "";        var i = 0;        let c =0, c1 =0, c2 = 0;        while ( i < utftext.length ) {            c = utftext.charCodeAt(i);            if (c < 128) {                string += String.fromCharCode(c);                i++;            } else if((c > 191) && (c < 224)) {                c2 = utftext.charCodeAt(i+1);                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));                i += 2;            } else {                c2 = utftext.charCodeAt(i+1);                c1 = utftext.charCodeAt(i+2);                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));                i += 3;            }        }        return string;    }}export default Base64

组件中使用

import base from '@/utils/base64'  //引入  var base1 = new base();  var passWord=base1.encode(this.form.password) //加密

vue项目对路由参数进行base64加密

安装依赖

npm install --save js-base64

全局引入 main.js

import * as Base64 from 'js-base64'Vue.prototype.Base64 = Base64

在页面中使用

加密

<router-link   :to="{     path: '/List',     query: { info: Base64.encode(JSON.stringify({ title: '这里是', module: 2 })) }   }" >更多 </router-link>
getDetails(module, title, id) {      let param = {        module: module,        title: title,        articleId: id      }      this.$router.push({        path: '/details',        query: {          info: this.Base64.encode(JSON.stringify(param))        }      })    },

解密

 created() {      let param = JSON.parse(this.Base64.decode(this.$route.query.info)) }

到此,相信大家对“vue怎么使用base64加密”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯