求(浩海在线多格式音频播放器)的加密方法。和解密方法。
加密的文件已经在此网页上。
求这个 URL 加密方法:
http://www.tl-music.cn/wjbmjm.htm
求助高手解答。
我晕死,去调试了一会代码上面就贴出来这么乱糟糟的东西。
TO 楼主:
加密函数的JS版本原网页就有了,不用我提供了吧?这里我提供加密函数的C#版本:
static string Encode(string value)
{
if(string.IsNullOrEmpty(value))return string.Empty;
value=System.Web.HttpUtility.UrlEncode(value,System.Text.Encoding.Default);
string code="egy+nb@QwXvCWjKPRxVzDl/h7EOMtSa9f6*FpNr81i_0kqdG2LBcuZIAJYo34m-sT%5.UH3SYZ0hzt/y@qDTNECf1BpujiO.X6ks+oIR8GPVg9wbm%xJvKLWrn*F4HAe-QladM27Uc5_";
int keyValue=new Random().Next(50);
string newcode=string.Concat(code.Substring(70),code.Substring(70)).Substring(keyValue);
System.Text.StringBuilder sb=new System.Text.StringBuilder();
sb.Append(keyValue.ToString().PadRight(3,'*'));
for(int i=0;i<value.Length;i++)
{
int idx=code.IndexOf(value[i])+(i%10);
sb.Append(newcode[idx]);
}
return sb.ToString();
}
2.解密函数。这里你没有说你要什么语言的,我提供的也是C#版的。如果要JS版的,请补充。
static string Decode(string value){
int keyValue=int.Parse(value.Substring(0,3).Trim('*'));
string code="egy+nb@QwXvCWjKPRxVzDl/h7EOMtSa9f6*FpNr81i_0kqdG2LBcuZIAJYo34m-sT%5.UH3SYZ0hzt/y@qDTNECf1BpujiO.X6ks+oIR8GPVg9wbm%xJvKLWrn*F4HAe-QladM27Uc5_";
string newcode=string.Concat(code.Substring(70),code.Substring(70)).Substring(keyValue);
value=value.Remove(0,3); //Real Code
System.Text.StringBuilder sb=new System.Text.StringBuilder();
for(int i=0;i<value.Length;i++)
{
int idx=-1;
do //FIX:修正某些时候会溢出
{
idx=newcode.IndexOf(value[i],idx+1);
}while(idx!=-1&&idx-(i%10)<0);
if(idx==-1){
throw new Exception("解码时出现异常错误");
}else idx-=(i%10);
sb.Append(code[idx]);
}
return System.Web.HttpUtility.UrlDecode(sb.ToString(),System.Text.Encoding.Default);
}
3.小鄙视一下上面把原网页复制过来的和把什么乱七八糟的东西都复制过来的同学。
这就是他的加密算法
function make() { if(tt1.value=="") { alert("文本框中没有任何东东哦 :("); tt1.focus(); return; } var ul = escape(tt1.value); var vvv="egy+nb@QwXvCWjKPRxVzDl/h7EOMtSa9f6*FpNr81i_0kqdG2LBcuZIAJYo34m-sT%5.UH3SYZ0hzt/y@qDTNECf1BpujiO.X6ks+oIR8GPVg9wbm%xJvKLWrn*F4HAe-QladM27Uc5_"; var du = Math.floor(Math.random()*50); var uu = du+(du>9?"*":"**"); var ht = (vvv.slice(70)+vvv.slice(70)).slice(du); for(var ii=0; ii<ul.length; ii++) { var k = vvv.indexOf(ul.slice(ii,ii+1))+(ii%10); uu += ht.slice(k,k+1); } tt2.value = uu; }
在源文件里可以看到