您的位置:首页 > 运维架构 > 网站架构

某音乐网站,真实音乐地址解密算法

2010-08-27 20:52 211 查看
<mce:script type="text/javascript"><!--
function encode(str) {
str = str || "";
var F = 9917;
var I = str;
var O = "",
E = "";
var K = [],
H = [];

function N(S, P, Q) {
for(var R = S; R <= P; R++) {
K[R] = R + Q;
H[R+Q] = R;
}
}

N(0, 9, 48);//K.push(48-57) 48--57记录0---9
N(10, 35, 55);//K.push(65, 90) 65-90记录10--35
N(36, 61, 61);//K.push(97, 122) 97--144记录36 -- 61
var M = F % 26;
M = M ? M : 1;

function A(Q) {
var P = new String(Q).length;
var S = "";
for (var R = 0; R < P; R++) {
var T = Q.charAt(R);
if (/[A-Za-z0-9]/.test(T)) {
var U = H[Q.charCodeAt(R)] + M;
if (U - 62 > 0) {//K的最大长度为61
U -= 62
}
T = String.fromCharCode(K[U])
}
S += T
}
return S;
}
O = A(I);
return O;
}

function decode(_url) {
var F = 9917,
L = 0;

var I = _url;
var O = "",
E = "";

var K = [],
H = [];

function N(S, P, Q){
for (var R = S; R <= P; R++) {
K[R] = R + Q;
H[R + Q] = R
}
}
N(0, 9, 48);
N(10, 35, 55);
N(36, 61, 61);
var M = F % 26;
M = M ? M : 1;

function A(Q) {
var P = Q.length;
var S = "";
for (var R = 0; R < P; R++) {
var T = Q.charAt(R);
if (/[A-Za-z0-9]/.test(T)) {
var U = H[Q.charCodeAt(R)] - M;
if (U < 0) {
U += 62
}
T = String.fromCharCode(K[U])
}
S += T
}
return S
}
O = A(I);
return O;
}
function getRandomNum() {
return Math.floor(Math.random() * 10000 * 100);
}
var str = Math.random() + "&s="+getRandomNum()+"&g="+getRandomNum()+"&r2=" + Math.random();
alert("正常的字符串为:" + str + "/n/n" + "加密后的字符串为:" + encode(str) + "/n/n" + "解密后的字符串为:" + decode(encode(str)) + "/n/n" + "与原始字符串的关系为:" + (str === decode(encode(str)) ? "===" : "!=="));
// --></mce:script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: