读书人

url怎么加密小弟我做的是静态页面

发布时间: 2012-02-24 16:30:39 作者: rapoo

url如何加密,我做的是静态页面,a页面把视频地址传递给B页面,穿过去的地址如何加密,然后在B页面里解密,播放。谢谢!!!!
如题!

[解决办法]
基本上没什么用了
[解决办法]
传递
url = "0068007400740070003a002f002f007700770077002e003100360033002e0063006f006d ";
表示http://www.163.com
b页面解码:
function Decode(str)
{
return unescape(str.replace(/[\da-f]{4}/ig, "%u$& "));
}
Decode(url);


a页面的编码函数:
function Encode(str)
{
return str.length ? str.charCodeAt(0).toString(16).replace(/^[\da-f]{2}$/i, "00$& ").concat(arguments.callee(str.slice(1))) : " ";
}
var url = Encode( "http://www.163.com ");
// 0068007400740070003a002f002f007700770077002e003100360033002e0063006f006d


// 因为这些都是在客户端进行的操作,所以基本上是没法做到真正保密的
[解决办法]
静态页面加密??? 基本上是没法做到真正保密的哦,给你个base64加密解密的方法
你自己提出来用吧
<html>
<head>
<title> base64 Encoding/Decoding </title>
</head>

<script type= "text/javascript "> <!--

var keyStr = "ABCDEFGHIJKLMNOP " +
"QRSTUVWXYZabcdef " +
"ghijklmnopqrstuv " +
"wxyz0123456789+/ " +
"= ";

function encode64(input) {
input = escape(input);
var output = " ";
var chr1, chr2, chr3 = " ";
var enc1, enc2, enc3, enc4 = " ";
var i = 0;

do {
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);
chr1 = chr2 = chr3 = " ";
enc1 = enc2 = enc3 = enc4 = " ";
} while (i < input.length);

return output;
}

function decode64(input) {
var output = " ";
var chr1, chr2, chr3 = " ";
var enc1, enc2, enc3, enc4 = " ";
var i = 0;

// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
alert( "There were invalid base64 characters in the input text.\n " +
"Valid base64 characters are A-Z, a-z, 0-9, '+ ', '/ ', and '= '\n " +
"Expect errors in decoding. ");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, " ");

do {
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);
}

chr1 = chr2 = chr3 = " ";
enc1 = enc2 = enc3 = enc4 = " ";

} while (i < input.length);

return unescape(output);
}

//--> </script>

<body>

<form name= "base64Form ">

Type in the message you want to encode in base64, or paste <br>
base64 encoded text into the text field, select Encode or Decode, <br>
and click the button! <br>

<textarea name= "theText " cols= "40 " rows= "6 "> </textarea> <br>

<input type= "button " name= "encode " value= "Encode to base64 "
onClick= "document.base64Form.theText.value=encode64(document.base64Form.theText.value); ">
<input type= "button " name= "decode " value= "Decode from base64 "
onClick= "document.base64Form.theText.value=decode64(document.base64Form.theText.value); ">

</form>

</body>
</html>
[解决办法]
在客户端脚本基本谈不上加密解密
因为你加密的算法你的客户也知道

理想的方法是把加密用的函数混淆下,防止函数暴露
[解决办法]
........加密...
你可以用可逆算法... sha1, baseX, uuendoe, des, .... 等加密后, 转义为 url 编码
然后 再 解码 url, 再解码 x算法...
[解决办法]
在地址上加密基本上是没用的,要在影片本身上做文字,wmv和rmvb都有各自的处理方式,网上资料多,搜索即可

读书人网 >JavaScript

热点推荐