Vue2.0下使用base64对参数加密

时间:2024-04-06 16:03:29

1.项目需求

项目中要求对地址中传递的一个参数进行简单的明文加密

2.解决过程

2.1  一开始准备使用js的escape和unescape对参数加密但由于参数是由英文字母和下划线等符号组成,而js的escape和unescape函数只对中文字符进行加解密,遂放弃

2.1.1 js有一个函数是可以将内容转化为十六进制的。就是escape函数。可以讲值转化为16进制。如果有中文的话,就会出现%uXXXX。如果没有中文。则不会出现%u。 这样就可以通过此函数来判断是否输入的是包含有中文的。
如:function btn_escape_onclick(){
  var aaa="name=xcl;password=123";
  var aaa_escape=escape(aaa);
  alert("原来:"+aaa+"\n"+"转义后:"+aaa_escape);
  var bbb="我们123"
  var bbb_escape=escape(bbb);
  alert("原来:"+bbb+"\n"+"转以后:"+bbb_escape);
  if(bbb_escape.indexOf("%u")>-1){
  alert(bbb+"     包含中文");
  }
  }
2.1.2 escape是js自带的函数。这样就可以用来判断是否输入了中文了。只要将转义后的内容判断是否存在%u就可以了。
如: var bbb="我们123"
  var bbb_escape=escape(bbb);
if(bbb_escape.indexOf("%u")>-1){
  alert(bbb+"     包含中文");
  }
原来  :name=xcl;password=123
转义后:name%3Dxcl%3Bpassword%3D123


原来  :我们123
转以后:%u6211%u4EEC123

2.2 js中escape()函数和unescape()函数的功能

2.2.1 escape 方法

对String对象编码以便它们能在所有计算机上可读, 
escape(charString) 
必选项 charstring 参数是要编码的任意 String 对象或文字。

说明 
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以

及 其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是

“%20 ” 。

字符值大于 255 的以 %uxxxx 格式存储。

注意 :escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

2.2.2 unescape 方法

解码用 escape 方法进行了编码的 String 对象。

unescape(charstring)

必选项 charstring 参数是要解码的 String 对象。

说明 
unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集中等价的字符代替。

以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替.

注意 : unescape 方法不能用于解码统一资源标识码 (URI)。解该码可使用 decodeURI 和 decodeURIComponent 方法。

2.3   在前辈的指导下使用了base64加解密技术

2.3.1 什么是base64

https://blog.csdn.net/qq_20545367/article/details/79538530

2.3.2 base64在vue2.0中的应用

https://blog.csdn.net/qq_35844177/article/details/70597597

Vue2.0下使用base64对参数加密

Vue2.0下使用base64对参数加密 

Vue2.0下使用base64对参数加密

 Vue2.0下使用base64对参数加密

2.3.3 vue项目中利用base64上传图片和文件

https://blog.csdn.net/weixin_37861326/article/details/81300698

 3.js中的常见加解密技术

http://www.cnblogs.com/mq0036/p/4983858.html