A. 针对url的加密与解密
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)))//需解析两层
B. url的编码和解码方式
url的在线编码和解码工具: http://tool.chinaz.com/tools/urlencode.aspx
1、基本知识
URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Bai、 Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。URLEncode的方式一般有两种一种是传统的基于GB2312的Encode(Bai、Yisou等使用),一种是 基于UTF-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。
中文 -> GB2312的Encode -> ����
中文 -> UTF-8的Encode -> 中文
Html中的URLEncode:
编码为GB2312的html文件中,
http://ud03.kinoko.name/中文.rar -> 浏览器自动转换为 -> http://ud03.kinoko.name/����.rar
注意颤氏:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了.我认为这应该算是Firefox一个bug.
编码为UTF-8的html文件中,
http://ud03.kinoko.name/中文.rar -> 浏览器自动转换为 -> http://ud03.kinoko.name/中文.rar
PHP中的URLEncode:
//GB2312的Encode
echo urlencode(“中文搏洞粗-_. “).”\n”; // ����-_.+
echo urldecode(“����-_. “).”\n”; //中文-_.
echo rawurlencode(“中文-_. “).”\n”; // ����-_.
echo rawurldecode(“����-_. “).”\n”; //中文-_.
?>
除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。
urlencode和rawurlencode的区别:
urlencode 将空格则编码为基镇加号(+)
rawurlencode 将空格则编码为加号( )
如果要使用UTF-8的Encode,有两种方法:
一、将文件存为UTF-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函数。
$url = ‘http://ud03.kinoko.name/中文.rar’;
echo urlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”\n”;
echo rawurlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”\n”;
//http://ud03.kinoko.name/中文.rar
?>
实例:
function parseurl($url=”")
{
$url = rawurlencode(mb_convert_encoding($url, ‘gb2312′, ‘utf-8′));
$a = array(“:”, “/”, “@″);
$b = array(“:”, “/”, “@”);
$url = str_replace($a, $b, $url);
return $url;
}
$url=”ftp://ud03:[email protected]/中文/中文.rar”;
echo parseurl($url);
//ftp://ud03:[email protected]/����/����.rar
?>
javaScript中的URLEncode:
中文-_. 中文-_.
encodeURI 不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。
http://ud03.kinoko.name/中文.rarhttp://ud03.kinoko.name/中文.rar
2、示例
http://canvas.gdt.qq.com/canvas/1?viewid=%12%0C%08%E1%98%B7%CD%CB%DC%14%20%E4%A5%01%18%FF%89%18&ckn=91142321196129
1)utf-8解码
http://canvas.gdt.qq.com/canvas/1?viewid=�ᘷ���� ������&ckn=91142321196129
2)gb2312解码
http://canvas.gdt.qq.com/canvas/1?viewid=�针吠塑� 浈��?&ckn=91142321196129
C. 站长工具中的url加密解密起什么作用
防止泄漏真实目录结构。
站长建站时用于对网站质量查询与制作帮助的一些工具,简称站长工具。表现形式主要有Web形式的工具箱、flash形式工具箱、终端形式工具箱、微信端的站长工具。
常用的站长工具有:友情链接检查工具、蠢茄PR查询工具、搜索引擎收录查询工具、关键词排名查询工具、网站带扒察流量统计等。
站长工具是站长的必备工具。经常上站长工具可以了解SEO数据变化。还可以检测网站死链接、蜘蛛访问、HTML格式检测、网站速度测试、友情链接检查、网站域名IP查询、PR、权重查此纳询、alexa、whois查询等等。
D. url参数加密
加密URL参数
插件在访问 Web 程序时,可以使用 Get 方法或 Post 方法提交数据,无论是哪种方法,按照 HTTP 协议的规范,参数总是按照以下格式提交(每对参数名/参数值以“&”号分隔):
参数名1=参数值1&参数名2=参数值2&参数名3=参数值3...
如果您没有使用SSL,所有的参数名和参数值都将以明文的形式通过网络传输到 Web 服务器,显然这种方式是很不安全的,为了保证插件与Web 程序的通讯安全,插件在提交参数前可以对每个参数值使用 Rijndael 加密算法进行加密处理,并使用 Base64 编码转换为可读字符串形式。
Rijndael 加密算法是一种高效的对称加密算法,它是 AES(Advanced Encryption Standard,高级加密算法标准)的实现,在加密和解密时有两个基本参数:初始向量和密钥,Web程序在进行解密时必须使用和插件端设置相同的初始向量和密钥。
下面分别列出了加密和不加密的例子各一个:
a. 不加密:Username=test&Password=123456&ClientIP=192.168.0.200&CurrentTime=2005-07-06+23%3a51%3a29
b. 加密:Username=ZtlBwgvwkS5YV98N9cgO%2fw%3d%3d&Password=vBSchK4dJX7Z2zfUatu9ZQ%3d%3d&CurrentTime=mpNifqRIvBV2xZi3d%2fPli6%2bZwR9BKHs4y6t%2bNS2QIr4%3d
在 Web 程序端必须使用相同的算法来解密各个参数值,具体如何实现取决与您所使用的 Web 程序语言,这就需要您找到特定语言的算法实现。解密一个参数值的过程包括下面三个步骤:
1. 使用 Base64 算法将参数值转换为字节数组;
2. 使用 Rijndael 算法将 1 中得到的字节数组解密得到另一字节数组;
3. 将 2 中得到字节数组用特定的字符集转换成字符串,即得到原始的数据。
插件安装目录下的“GVODClassLib.dll”文件包含了加密和解密的算法实现类 CryptoUtility,它的 Decrypt 方法可以直接将 Base64 编码后的密文解密为原文字符串,如果您的 Web 程序使用的是 asp.net 编写的,可以将该文件拷贝到您 Web 站点的“/bin”目录下,然后按照下面的例子完成解密:
<%@ page language="C#" %>
<%@ import namespace="Com.GVOD" %>
<%
//定义密钥,请改成你加密时使用的密钥
string key = "OEtxF/yyALd2NflVW4KSMspQIozPkSRL+mEdvlBAzUQ=";
//定义初始向量,请改成你加密时使用的初始向量
string iv = "Cz3EXGTEMeIN8PXKFLiZWg==";
//定义密钥长度,请改成你加密时使用的密钥的长度
int keyLength = 256;
//生成 CryptoUtility 类的实例
CryptoUtility util = new CryptoUtility(key, iv, keyLength);
//解密用户名
string username = util.Decrypt(Request["Username"]);
//解密密码
string password = util.Decrypt(Request["Password"]);
//解密其它参数
...
%>
E. url 解密 网址解密
这些电影访问地址加密了。电影也加密了拷贝回去也看不了的
F. 如何将url加密 js加密 c#解密
js(加密):
str=encodeURI(str)
C#(解密):
HttpUtility.UrlDecode(str)
G. URL文本解密问题(求助)
MD5加密的方法网上有.
但是搏派瞎如果不知道加密方式的前提下.只凭加密前.加密后的文本.来猜加密方式.看似真的基空不大可能羡伍.因为可能行太多了.
H. JAVA如何对URL进行加密和解密啊
url是直接显示在地址栏中的,这个无法加密,但是可以用https安全套接字,安装服务端证书。如果你不想别人看到某个地址,你可以用request.setRequestDispacher("*/.jsp").forword(request,response);我不知道拼对没有,自己多网上搜下。
I. asp对url把后面的参数进行加密与解密
function SafeUrl(OldName)
Urllen=len(OldName)
tempStr=""
for Ucount=1 to UrlLen
ttmp=hex(asc(mid(OldName,Ucount,1)))
if len(ttmp)=4 then ttmp=left(ttmp,2)+"%"+mid(ttmp,3)
tempStr=tempStr+"%"+ttmp
next
SafeUrl=tempStr
end function
那你就把这个值在url上加密,然后在页面之间用个hidden传吧
J. URL内 参数加密解密
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;
}