针对url的加密与解密

针对url的加密与解密,第1张

encodeURIComponent(string)加密,decodeURIComponent(string)解密

city: encodeURIComponent(`'${this.cityVal}'`)/敬棚/this.cityVal为要加密的中文

let href = util.getUrlParam('city')

console.log('亮喊则解析url地址1=====',href)

console.log('渗咐解析url地址2=====',decodeURIComponent(href))

console.log('解析url地址2=====',decodeURIComponent(decodeURIComponent(href)))//需解析两层

javascript对URL中的参数进行简单笑笑加密处理

javascript的api本来就支持Base64,因此我们可以很方便的来进行编码和解码。

var encodeData = window.btoa("name=xiaoming&age=10")//编码

var decodeData = window.atob(encodeData)//解码。

下面来个具体的例子来说明如咐颤何对url中参数进行转码,并取得解码后的参数

假如要跳转的url = "stu_info.html?name=xiaoming&age=10"

转码:url = "stu_info.html?"+window.btoa("name=xiaoming&age=10")

跳转:window.open(url)或衡升败者window.locaton.href = url

解码:解码时我们首先要从url中获得参数列表,

我们可以通过var paramsString = window.location.search来获取url中?号开始的内容(url的查询部分)即"?name=xiaoming&age=10";

然后去掉?号 paramsString  = paramsString.substring(1) //"name=xiaoming&age=10"

去掉&paramsString  = paramsString.split("&")//["name=xiaoming","age=10"]

需要指出的是 window.btoa这中编码方式不能直接作用于Unicode字符串。只能将ascci字符串或二进制数据转换成Base64编码过的字符串。如果要对Unicode字符进行编码可以将做如下转换。

var encodeData = window.btoa(window.encodeURIComponent("name=小明&age=10"))//编码

var decodeData = window.decodeURIComponent(window.atob(encodeData))//解码。

获取url参数

//获取url参数

function getQueryString(name) { 

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")

var params = window.location.search.substr(1)

params = window.decodeURIComponent(window.atob(params))

var r = params.match(reg) 

if (r != null) {

return decodeURI(r[2])

}

return null

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12132609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存