如何将一个文件中js变晕加密一下呵,谢谢,急

xizi2002 2003-01-11 09:21:29
如何将一个文件中js变晕加密一下呵,谢谢,急
...全文
119 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
llrock 2003-01-12
  • 打赏
  • 举报
回复
由于js的随机不好用,我用C++做了上OTP得密匙比较长,不错,你可以从中任意截取一部分(不要太短)作为上面的密匙。太长了,100多k只匙随便从中去了几部分。
===================================================
"璃Q掍%朔n鱠iD}7??hr栛塝g3憝耮JS塍嘥#^況9竆飜X杊韥/婰?矍蛦撕忎c?e昅陓+?提蛤?Xd擗漭jE\雪鼃洋刲^@娐??蜵zl盉p闗
R?丏5蜊硡v'??14?9斔膵?薸?o?卅邗?媠J擫7漯妔?w?迏€??!{B芅U饞鎡-?NNFp簾?/_拐>hf絍颽蕦鮁磊@?#I:?Zd興$
,X亵???vNH髽.盚顒>:?雽梐?螨茔愛 ? ??筎;蠐莶睔鏋?3圦╨Gnf]倌P僫.倉DA猛蘂??濓I狉r??5l|傾?躑︸S%?綶u4)檡o谯?欐TJ\Gx糵葕?菹-?8蹮錆?h鯄6?蹤d歷+夂鮥鉥衮yX妙8kU?+鷝OIS?,漗鷄48祍王訸(如薰?w{釋棋i3p$n菗顱e撗\;C?橦幽勨'?餧n</k橫F卻鯓F羥繴?mf堮D?h苹"蠥?MV縸掅6]硅?^\4繵&W:`扡笸噺娒b郡觶[zo?\蝃"Ag1衫櫧?圊K??k焕煫$鼮椃
叏 9]9魆77tQ晘罥焪:X$?I.赲郜扵
?H:宣驝S甎塰?驳9龁愇O?蕽j$L0孻喏t
?Ol>麅€维佩?弋Χ顉?)矯&wut眘pB镩Z?0迩棛:I畴E蔨?`欑躴MH咩Xl鸟[A湳l?R笴I尼#?Nr槺綿?
諳wVFト逇l
埫*k懖乖炋aj8蛛枇懡!锼?"?Z┸寲7貼{K沘姏?9?璏 軹覯:滦?鷷=f~枸??犸櫈]v戩
[:h粒C?q?;沸%僑yO燕}?┟谷€风?X
?Cjoc?)8辟=P矐?P6秹?p绠蒔胯餦貣崯??笸Ε齿槑珆铌螒m;渰圄襚擡婐>'hd7惱 ;[ㄩx?碁育敤柆?聪R'妺嚣~乵騁l菋搅闭欭k櫠哏Aj窨)V8R匎慳3'`?暟鋑u赕v
?Od擙u崎H|c?A?雐0澸悺Z??q〢曊qm?~埙↑{萑?顡汱?嶌?#?K2L8u詏@e)n51抈绳?礔{P[!sz徘渰N繂9}TB?:鵾X{遱狽樮-?M粉週痁\黿7?L~3_辟祬=?%?PSY镸8~?f%?的
蜹W€浖縬:愰闓g阙r豸?g嚨u;苕`逼X许崿輭糞槣鬈
嗔d??FB鏽Z╄)齖露K?H?j鞪庎磕襧僚/4.棩^檌$?J音拲U纵民椷
B烸??蘋?贘?-殡nd鴘x6r缸d窟?椩粺鐌〆HK斥76砑溢洩\琂竾=閈筠?蜿?M妱呜?栾?墠?^RY谆k愢捽徰?<祟*?E茵Y農u褐:=幾奮讬椕 柊斀O??8?;d?鍔牭tg倝&4zs伾k$米€顜RP蓆詧酪,?m壉f擈?篤鋠q.m1G3Q;?媭??鹼?醥:襩涥+??|罋?+F?NM専曩dA ︳?NZ
窸?C饏B粲:w?OJ?禤仕嚤6觵P??A0vB?_???u?闶H?蜲??5i#嵣蒪7?眮郣;0?.??幹Z?扉媠挒蠉猤閄p尽爭?姇l?3刉V浢8桥萭а粶鮻{f执C?伦?擬>N萡q思??
2R@恊Osj瀉鍫i*<?電|贀曢t焆&??i递炯岏喡[>?奝朦?0?鲚蔆?鬯????压,躵參?W碹9踲犻|鍫蘌ρ{3??4国朎'Lk}hU;%廍Sc醖?A!臥喓鴝'?梑槃5粑柴фo燓}罼穤鰞碻痠砝蝃Dx劋 麽b涆pc?繤?%n酉x?D]飛3犫?鎥?_?tf夰??婑匇9?\玗(滥??疸??NE7浶?&l裐鲂
?瑮?n(p嗅n椩??楌:灡佼搝幼﹜K昼PM}R訲跬N鲝5逸魵Y*饓這浐氹楞邩?Z閊[x榆:b麖蠕枓毸nL匮皧7??忬&(?~#y{棦齄簧??勯?組H襩v?S??鋛澟鯒Fv?I恖鱶療?K朽蟺pv湁 11萿?25爏?a?登輚`龌斆癹}δl?at?啩?这D埅閰V鯌舘滖J?喖⒑?莥蚻薖 ?z-钑?H麧9;H鋕摟鼶铧??覍庫*笗???跹僡,"鋁9z埠AA韬5噸餺飊晰喊爋?m?辉唌天H???霚騂洧鱆诏r籍k彛j狊f紏;?撱Zv??Oh9选C庂yV搱谉鯲"锫瘟?{頭?sC<>?%=)柂??凭蚻鼵S&?雩附珚h閙蔬讼BQ.翠攑?+p癣Gw~崩C坦-%?k?员\]Zs媢ボ
钓?s摦饦Dヅ6吀@W浱s韊`]??`U嫉~掀?+S?籁?Mna叠孋??]n虽6S猎镯岮`,K/>?p嵈B47逸$?﨔8F涫c~鞍]銳荄RQ?俘?U[?桮Uw?燛X疍a椤Y滶^`稓Vg:I翟GU劫mB徨L 愸8%P?z?{塤`駽oと递猕?訅褫?&?kW@e>?/眘野鸨濺l%蓂橨]蜀?萏妧EJ呗y壔t9?梪\0yH責lOJ禗5娗覗
?7赇/zm薞俿鯞涳z澉l皼u?qnq嶐頃├礞藘'
N鄮>碮咜;?菟??趈遚伺%?=氜鞱?炭蜪遄5??p?庡邚{?⒊^
e
泣W??縩燒T襊_諅0?瀤?YD袞,i?€,1y??飮檺6P僈&襠岜瞇欱聼@沉}B'金?覰麫FL勝d朸\梈?欦鄪?Gz[1xV梌?聴c%濙k;9腹象a暊峥]獋甒顈惐p瞖^唀岒縁﹖鋅姖t抭艋恳芾h40c'续皵笯[鈟郌!?N藿秙oWK崺纮疇吻猷媒闾g?`竆誸蛧歵K$?m(縊F倎ㄑG泻l惙MB脡洮t萟?J罕e?€?RI@e
(7w#費,(>Y??垛?磤J晟*?溻?c旽??^BH塊_&?厴B?玓?\躵a粌堠|CqO娤烨鹻?2膾W
?鎺傐索q€俥?
箩傩琈~CktjV⒕彲@?]帴ms?H权俕A?攘?k*??H~J氎g?P旱嗈g蝐g?e?疆蛖帏禖閶?蒁?娘!搑潁u婿嬞?WVa?樌KSW*瞇誋m?嗑湾脒s浳;}?鍹柭o瀍?隤 ??Z~ 滍UB陙?sD墝ybe€筓_屐V魫:抟m覂?馬?\9譔<蛇G徹1|皎6l銙絠E鋢XLqD邽?NA
琼栬慹客?椠矙9佮嘌喇竼oO鑎,确\U???:k?M縯??v蘹z紋??|礡鱊E/T=?{憚1孇=&E鹭+磍?牽_娕襾吟a??p,7e?)謒锺w"鐤?瘛貂{f?E岯C譈?酟BslK蚕?R#t/??遧葬}U溒<#諧是k[豤鸃阍檉L諵蜯鵫eR嵝T工&_甑h苻ary=&6[-逽?婸=59兆嚟碰槜鐡U"猫?N怇?-漖薅u仭啘8_挡??麾璈#鋚S犤*?/蚖o€厞b鲘唫,凐^輣襑H棈贒?厥隲dy??u緈J漁p?
徆鱗&bK蚶聀热郟恹鍻d\?!l餙?治靁?~Y8j%T?迺$駏畠?廽?dL/'鯘*{u芚魪?洵'鮮鋪?^?恪#z〝妲h洼旱7搤u馠g?蘅鉓竱U菨u肘俎 e鋎j&?趻紆氵湶6kfP蛮j?8?zV癥量?晝誰r壢籿?p怮_5-[楩T堦揻UZ梿HfR▉X洯詳L,袸3Ck磽浦(瓖W尥
pn3蹆膅f礞记p新鮿Д?;,豙狚FB?L?截腢?篺誎瞛澻?Gユ俔??r|珚2?霫s陃("螸2_>?|夡?YZ贰c?厗n頹脧鄐砒Z{d?槤诗?鵇婣釉るQ鎄啬钯鰕&.=g/}?贮歍琀輠 殿?{?胙T煑l羑讆'疆?鱎咢 投>?xtへ'?! 鏬仱?胕UW岙杉陱?;顜R/翎1殻/鳟?歒?︻<?裿?睑蔕?礛=钢?ㄤē哂伄?X;? 具て>乃F裴着岳?众梦瘝&莗??g5% ㄥJ葦郊惻 徒v鬩崓bX?鏟蚪?嶿爫T-1盖r<?I1<?Lq糜`(筜葮?皉菇<毆X?T框V氱i5?_邍L诜P摫[饕?i葻?楫焊N!迯伶?妌笎?鸄B嗺!Xf繾s?籆~??????C=G?曘攧O??kh9緼[?垆*v谉胦圉/礂HR6?绿??0a庉Q綉鶾HOr$棅襵*"P囋湐軺氙厦V嶛VX% 泉剅?s襗[?{夕0=R粋Ghd?€咤6l鷹dq%矟j._姳@禜)粣 .葅?=8;眎4機)T著桸D寑?沦W@糽懤q谓??i邪?R穱粸?'"米?_.?1儩獋崶翊2]2螫??o缨H槼)鐛ケ9懅鞒帇^p癮,?輚頨掛f?皴€??毽墉/q騐?耠c庲9?爷埔犃o氇<ゥ/8昃突節陠$?B?梪飃kkb
pA瓵懘駈JPs"????R犀劳?a?蚹盙-岞L?觓瘔4U荈鮙Cn0湮r讂?i?Py孟?2KG?齰b膇'r
?駦g衕滵遦,/嫀莈?#[鴂%?御?萐鷕楲遑?m魄}cg髤躔黗S祆j羝YZ棁?餴濊踭i胄淨:2犓呈O€槦┙と大}zj?+B?!?k疯W{鯺?yg厚?荣+h粁)B莦:&唼a轄訿w盞b?跒h?桯注堙TCr?^? I?t婵Ki?餇盒R堤NW悋?氮偘??s责瑡癞粜f`鱩%_8筓?紝`莒??n〨熲锒?岇l.ZUE?燊*褒憨??n奞m?G飒?b邯犾?鷖V??俔ㄩ?:B浏?k? Z人晬&鍲霁靮觎ōW1??3;'??樒??$?伷jA漇堧){KW犵/N.袣杬0l蛂添慯?<枙g?z萛閤c掋??V豉ΠH?@澀随5J恞杘犎履'N箓??c?6鳟`WバV?縕3e.j
0迡3婪鹶W]]瘺6マ?涱Br蒟JL{淇O?肏伹臝?(佸曑F媎丗.囸}^弓?妃9<?n菤魶u菳?
u'@R?室畷?巉we?ep書%绚?龁d壏??=蒟i纀篐ん?郗[(?J廳&鄋=K緦:T?Z<B)綳璔嶄]礢鄴竗?犤ck!簣臇?>畠狺豫2]膭V?琣W?唶筩>TVlXs舰贐晖揊]?R? ?憅)d?}?脧躝k脒F瓲xX尙6x\堡?呅屚鷥щ?*?g
B9洹J帤OV賤?铉jNy肀V?u莀`?Uy?_柞J咶$賣?銚?紬?沊蠌Gv2系B鵚絏Sヽ韸蒈?互)?o糭qf'脾/#> k?S暲繬?袙E橤B╊須(h??rQ)u鵩湪G捪Z%tg:r吒Y|n逜?2{耐狙躞?-?q`崓?d鎫琺瓹爪,唝犼鼌Q翱KB.?/栚/?Q op}d萄茯^
?~嘈筫?u钞躧?,B譠埈哻P?闾齇馜鸞(?z?硫K鉞?r2x鰐稨盯採蝑;z1饜!萺?餍笻輹冼Q+4cc簍輆d4灮P€$阋K挿2乄鏥v??禁軐b?S?0??]T??瑍~蝘?彶W蛘?礿V??緞覚?郍#r@ew鱃鴙m枓?
llrock 2003-01-12
  • 打赏
  • 举报
回复
首先js的随机函数不是很理想,它的随机种子不是很好,在1000以内总是会出现断点。这个就是OTP加密算法了(应该差不多了),如果有bug,他的原理和上面一样,只是这里不再使用固定的密匙,而是每次加密都用全新的,如果你把密匙或者密码中的一个存放到服务器端,他几乎是不可能破解的,因为OTP算法不会出现RSA、DES、IDEA等的不规则算法的问题,普通的PC也根本不可能计算通过穷举(那将是从地球徒步去太阳的时间),不要把padsize<500,因为越小js随机函数分布不均匀的矛盾就越大,而且OTP要求这个值相当的大,只有真正的随机OTP才能工作。当然你可以通过其他方法得到随机比如多次随机把每次的异或,得到的值仍然会在期望范围,只不过js的运算速度太慢。
********
对于加密重要的是保护解密密匙,这个算法的加密密匙和解密密匙相同。也许我们也可以写出公匙的算法,有时间看看吧,我贴出来只是为了大家交流,有关RSA、DES、IDEA算法,我没有写出来,考完试如果有人感兴趣,可以写出来,大家交流。
*******************
####么要对js加密,公开源代码不好么?

=====================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<BR>
OTP密匙<TEXTAREA NAME="OTPkey" ROWS="5" COLS="50" ></TEXTAREA>
这是标准的ASCII表0-255,直接使用,这种方式比较懒惰。OTP加密法是基于大数的,并且要求密匙是随机分布。<BR>
原始代码
<TEXTAREA NAME="ResurceCode" ROWS="5" COLS="50">
</TEXTAREA>
<input id="pw1" value="123456789">
<input type=button id=EncodeBTN value="加密" onclick="bb=Encoder(ResurceCode.innerHTML)" disabled><BR>
加密后代码
<TEXTAREA NAME="EncodedCode" ROWS="5" COLS="50">
</TEXTAREA>
<input type=button id=DecodeBTN value="解密" onclick="Decoder(bb)" disabled><BR>
解密后代码
<TEXTAREA NAME="DecodedCode" ROWS="5" COLS="50">
</TEXTAREA><BR>
<HR>
完整的可执行的编码
<TEXTAREA NAME="HTML_Code" ROWS="5" COLS="50" >
</TEXTAREA>

<SCRIPT LANGUAGE="JavaScript">
<!--ProgressBar by llrock--llrock.myrice.com
//ProgressBar class
function TProgressBar(idstr,x,y,w,h,c,bgc,max,min)
{
this.idstr=idstr||"mypb";
this.obj=null;
this.min=min||0;
this.max=max||100;
this.x=x||100;
this.y=y||100;
this.width=w||204;
this.height=h||24;
this.color=c||"#FF6600";
this.bgcolor=bgc||"#E1E1E1";
this.pos=0;
this.percent=0;
this.Create=TProgressBar_Create;
this.Update=TProgressBar_Update;
this.Reposition=TProgressBar_Reposition;
}
//update progress by pos and max value
function TProgressBar_Update()
{
this.percent=Math.floor(this.pos/this.max*100);
if(this.percent>=100)
{
this.percent=100;
this.obj.width=this.width-4;
}
else
{
this.obj.width=Math.floor(this.pos/this.max*(this.width-4));
}
this.counter.innerHTML=String(this.percent)+"%";

}
//draw progress and get browser element
function TProgressBar_Create()
{
var str="";
str+='<div id="'+this.idstr+'_border" style="position:absolute; left:'+this.x+'px; top:'+this.y+'px; width:'+this.width+'px; height:'+this.height+'px; z-index:1; background-color: #000000;">';
str+='<div id="'+this.idstr+'_bg" style="position:absolute; left:1px;top:1px;width:'+(this.width-2)+'px; height:'+(this.height-2)+'px; z-index:2; background-color: '+this.bgcolor+';">';
str+='<div id="'+this.idstr+'_main" style="position:absolute; left:1px; top:1px; width:1px; height:'+(this.height-4)+'px; z-index:3; background-color: '+this.color+';font-size:1px"></div>';
str+='<div id="'+this.idstr+'_counter" style="position:absolute;width:10px;height:'+(this.height-4)+'px;left:'+(this.width/2-10)+'px;top:1px;z-index:3">0%</div>';
str+='</div></div>';
document.write(str);
this.obj=document.all[this.idstr+"_main"].style;
this.counter=document.all[this.idstr+"_counter"];
}
//reset progressbar
function TProgressBar_Reposition()
{
this.pos=0;
//this.max=100;
this.Update();
}

Progressbar1=new TProgressBar("mybar1",550,550);
Progressbar1.Create();
//-->
</SCRIPT>

<SCRIPT LANGUAGE="JavaScript">
<!--
var pw=pw1.value;
var pad="";
cc=0;
padsize=500;
Progressbar1.max=padsize;

//-----------------------------------------------------------------------------------------------
var htmlcode="";
htmlcode+='<script>var pad="";var text="";padsize='+padsize+';';
htmlcode+='function Decoder(txt){var tmp=txt.split(" ");off=parseInt(tmp[0])%padsize;result="";for(i=1;i<tmp.length;++i){ disp=parseInt(tmp[i]);result+=String.fromCharCode((off+disp)%padsize);off+=disp+1;}OTPkey.innerHTML=unescape(result);OTPkey.outerHTML=OTPkey.innerText;}';
htmlcode+='<\/script>';



/*
OTP依赖于真正的随机,所以必须尽可能的随机,javascript的随机函数不够理想,
你应该把padsize至少设为500,这个越大越好,不仅可使密匙复杂度增加,更重要的是使密匙随机分布均匀,如果这个数太小会导致无法加密和解密
*/
function MakeOTP()
{
if(padsize<500)return alert("请使用大于500的数字,为了保证随机分布可以尽量均匀!");
try{
Math.random();
var tmp="";
Progressbar1.pos++;
Progressbar1.Update();
tmp=Math.random()*256;
//tmp=tmp^Math.random()*256;
pad+=String.fromCharCode(tmp)
cc++;
OTPkey.innerHTML=pad;
}catch(x){}
if(cc<padsize)setTimeout("MakeOTP()",5)
else
{
EncodeBTN.disabled=false;
htmlcode+=OTPkey.outerHTML;
//把OTP密匙写到心页面
htmlcode+='<script>OTPkey.style.display="none";pad=OTPkey.innerHTML;<\/script>';

}
}

/*
//这个OTP生成函数不如上面的好
function MakeOTP()
{
Math.random();
var tmp="";
for(i=0;i<padsize;++i)
{
tmp=Math.random()*256;
//tmp=tmp^Math.random()*256;
pad+=String.fromCharCode(tmp)
}
OTPkey.innerHTML=pad;
EncodeBTN.disabled=false;
}
*/
function Encoder(txt)
{
txt=escape(txt)
var disp;
var off=pw%pad.length;
var result=String(pw);
for(i=0;i<txt.length;++i)
{
disp=0;
count=0;//避免死循环,无用
while(txt.charAt(i)!=String.fromCharCode((off+disp)%pad.length)&&count<5000)
{
disp++;
count++
}
result+=" "+disp;
off+=disp+1;
}
EncodedCode.innerHTML=result;
DecodeBTN.disabled=false;
htmlcode+='<script>text="'+result+'";Decoder(text);<\/script>';
document.all.HTML_Code.innerText=htmlcode;
return result;
}

function Decoder(txt)
{

var tmp=txt.split(" ");
off=parseInt(tmp[0])%pad.length;
result="";
for(i=1;i<tmp.length;++i)
{
disp=parseInt(tmp[i]);
result+=String.fromCharCode((off+disp)%pad.length);
off+=disp+1;
}
DecodedCode.innerHTML=unescape(result)
}
MakeOTP();
//-->
</SCRIPT>
</BODY>
</HTML>
llrock 2003-01-12
  • 打赏
  • 举报
回复
先看这个,然后给你随机生成密匙的
========================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<B>我把OTP算法做了些简化(没有随机产生OTP密匙,而是直接使用ASCII表),原理是获得目标代码在OTP密匙中相对于密码的偏移量。</B>
<HR>
你可以这样改进加密效果:<BR>
1、不隐藏密码,密码在加密代码首部,这样比较省事,非常容易被破解,但可以完全脱离服务器<BR>
2、隐藏密码1,使密码隐藏于代码中,修改加密和解密函数,使密码出现在代码中间,比如取所有代码的中间位置,随便了(只是难度增加一点点破解难度),但可以完全脱离服务器<BR>
3、隐藏密码2,使密码隐藏宇hidden area中,加密代码中不存放密码(破解难度稍大),用asp等传送密码给隐藏域,这样破解的难度会大一些<BR>
<font color=red>4、基于大数原则生成随机密匙,使用服务器保存密匙或密码中的一个便可保证破解率接近0(缺点,随着密匙复杂度增加,传送和处理压力增大)。</font><BR>
<HR>
<BR>
OTP密匙<TEXTAREA NAME="OTPkey" ROWS="5" COLS="50" disabled></TEXTAREA>这是标准的ASCII表0-255,直接使用,这种方式比较懒惰。OTP加密法是基于大数的,并且要求密匙是随机分布。<BR>
<SCRIPT LANGUAGE="JavaScript">
<!--
for(i=1;i<256;++i)
OTPkey.innerHTML+=String.fromCharCode(i);
//-->
</SCRIPT>
原始代码
<TEXTAREA NAME="ResurceCode" ROWS="5" COLS="50">
</TEXTAREA>
<input id="pw1" value="123456789">
<input type=button value="加密" onclick="bb=Encoder(ResurceCode.innerHTML)"><BR>
加密后代码
<TEXTAREA NAME="EncodedCode" ROWS="5" COLS="50">
</TEXTAREA>
<input type=button value="解密" onclick="Decoder(bb)"><BR>
解密后代码
<TEXTAREA NAME="DecodedCode" ROWS="5" COLS="50">
</TEXTAREA>

<SCRIPT LANGUAGE="JavaScript">
<!--
var pw=pw1.value;

function Encoder(txt)
{
txt=escape(txt)
var disp;
var off=pw%256;
var result=String(pw);
for(i=0;i<txt.length;++i)
{
disp=0;
count=0;//避免死循环,无用
while(txt.charAt(i)!=String.fromCharCode((off+disp)%256)&&count<5000)
{
disp++;
count++
}
result+=" "+disp;
off+=disp+1;
}
EncodedCode.innerHTML=result;
return result;
}
function Decoder(txt)
{

var tmp=txt.split(" ");
off=parseInt(tmp[0])%256;
result="";
for(i=1;i<tmp.length;++i)
{
disp=parseInt(tmp[i]);
result+=String.fromCharCode((off+disp)%256);
off+=disp+1;
}
DecodedCode.innerHTML=unescape(result)
}
//-->
</SCRIPT>
</BODY>
</HTML>
llrock 2003-01-12
  • 打赏
  • 举报
回复
<script>var pad="";var text="";padsize=500;function Decoder(txt){var tmp=txt.split(" ");off=parseInt(tmp[0])%padsize;result="";for(i=1;i<tmp.length;++i){ disp=parseInt(tmp[i]);result+=String.fromCharCode((off+disp)%padsize);off+=disp+1;}OTPkey.innerHTML=unescape(result);OTPkey.outerHTML=OTPkey.innerText;}</script><TEXTAREA name=OTPkey rows=5 cols=50>kì£ø\ˆý¬ š·/ƒ´}+á9]aNüËîÛ2Ù$A–o6²ƒó :¢:®Ôï J½*õŒ¬Oˆ–{§eÓ©ª¤”Fã“^£Õ¸“ ';F›LåEØæþÎΠÙÃ÷ÛÖÒãw„Cªx5qE¹V“‰1&ëâ!ç”Å­Ü¹‘‰™çö¸W†sRÛ=\—«ÿèw“uÕë†Õù i4ˆâÇàP</TEXTAREA><script>OTPkey.style.display="none";pad=OTPkey.innerHTML;</script><script>text="123456789 248 12 3 53 7 420 13 14 37 11 492 498 428 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 37 496 495 2 436 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 49 488 10 491 492 435 12 3 48 12 420 13 14 18 24 5 488 10 491 492 498 436 12 497 19 42 487 17 491 491 8 5 420 12 3 53 7 420 13 14 480 68 488 10 491 492 435 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 42 491 14 480 439 12 497 55 11 499 495 432 55 11 3 487 12 418 13 16 468 12 499 16 43 498 5 484 8 5 428 38 36 490 488 435 12 499 486 12 497 50 11 498 5 484 8 5 420 13 16 468 12 499 65 484 18 495 430 56 11 492 498 428 13 14 470 12 497 50 4 492 16 0 485 14 420 13 16 34 494 451 0 497 0 486 12 499 486 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 48 483 14 490 6 3 420 12 497 59 488 12 492 13 479 5 497 435 13 16 468 12 499 23 22 20 478 485 15 14 490 6 3 420 12 499 486 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 470 12 498 495 499 491 10 19 468 10 16 36 14 492 488 16 488 5 498 426 12 497 28 499 17 18 486 6 2 485 2 479 16 5 497 435 12 5 48 4 494 10 420 12 6 479 12 497 488 17 10 470 12 497 488 12 497 498 499 66 486 6 2 485 2 14 421 12 497 67 487 496 435 12 497 70 485 4 489 10 7 417 12 497 56 496 434 12 497 29 18 20 433 484 12 497 65 486 13 489 16 478 498 436 10 19 468 10 16 471 12 497 488 12 497 56 496 434 12 497 488 12 5 48 4 494 10 420 13 16 468 13 16 47 497 2 483 435 12 6 479 12 497 70 485 10 487 432 12 497 488 12 5 53 486 20 486 497 493 18 494 2 422 12 6 479 12 497 488 17 10 38 496 434 12 497 488 12 5 480 12 5 40 14 499 465 18 11 491 435 13 16 468 13 16 468 12 499 27 22 14 498 483 497 14 488 435 12 499 486 12 6 479 12 3 42 11 2 424 13 14 470 12 3 42 11 2 424 13 14 470 12 5 55 484 16 0 485 471 36 5 420 12 5 40 14 499 473 14 12 0 489 5 498 426 12 6 479 13 16 468 13 16 483 484 12 6 479 12 6 479 12 497 488 17 10 470 10 19 468 10 16 471 12 497 488 12 497 488 12 497 488 12 497 51 10 487 17 491 491 8 5 429 30 499 17 16 490 483 449 13 16 36 4 499 490 12 472 17 494 15 487 432 13 14 470 12 497 51 10 487 17 491 491 8 5 429 30 499 17 16 490 468 464 13 16 36 4 499 490 12 457 28 3 497 0 11 420 13 14 470 12 497 62 498 3 486 13 489 16 478 435 13 16 8 499 17 18 486 6 2 485 2 479 16 5 497 435 13 14 470 12 497 488 17 12 468 17 12 468 10 19 468 10 16 471 12 497 488 12 497 52 6 6 485 435 12 497 56 496 434 12 497 488 12 5 48 4 499 490 12 472 17 494 15 487 432 12 498 487 13 16 31 10 487 17 491 491 8 5 429 30 499 17 16 490 483 449 12 497 488 17 11 469 17 11 469 12 497 56 4 499 490 12 457 28 3 497 0 11 420 12 498 487 13 16 31 10 487 17 491 491 8 5 429 30 499 17 16 490 468 464 12 6 479 12 497 59 2 487 497 18 488 5 498 435 67 486 6 2 485 2 436 12 5 480 12 6 479 13 14 470 10 19 468 10 16 471 17 12 468 10 19 468 10 16 11 499 17 18 486 6 2 485 2 479 16 5 497 435 12 5 59 497 2 483 435 12 6 479 13 14 470 10 19 468 10 16 481 499 489 12 497 496 499 491 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 480 67 483 14 490 6 3 420 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 480 56 496 495 2 436 12 3 48 12 420 13 14 470 10 19 468 10 16 471 10 19 468 10 16 471 12 3 53 7 420 13 14 31 12 488 20 415 12 497 49 4 495 11 496 2 2 422 13 16 468 12 499 486 12 0 18 499 499 499 499 499 466 12 499 486 12 497 67 484 18 495 420 13 16 468 12 499 486 12 0 496 499 499 499 499 499 488 12 499 486 12 3 48 12 420 13 14 470 10 19 468 10 16 471 10 19 468 10 16 471 12 3 53 7 420 13 14 33 4 12 418 12 497 56 494 436 13 16 468 12 499 25 20 23 479 12 434 487 12 499 486 12 497 66 0 4 486 492 435 13 16 468 12 499 61 498 3 489 10 488 5 498 426 13 13 31 0 16 495 496 8 498 484 435 13 14 470 12 497 59 492 0 13 420 13 13 485 496 6 56 7 416 13 14 470 12 497 67 494 0 424 13 13 488 494 62 7 416 13 14 470 12 497 70 485 494 15 487 432 13 13 484 1 0 58 7 416 13 14 470 12 497 55 496 3 497 0 11 420 13 13 483 1 5 54 7 416 13 14 470 12 497 73 422 59 4 489 0 18 416 13 13 483 487 13 14 470 12 497 49 498 1 7 495 10 496 5 492 489 444 53 11 496 2 2 422 13 13 471 12 497 488 12 0 18 499 499 499 496 499 469 13 14 470 12 497 59 488 23 479 12 430 52 498 1 7 495 10 496 5 492 489 444 53 11 496 2 2 422 13 13 471 12 497 488 12 0 18 499 499 499 496 499 469 13 14 470 12 497 49 12 2 485 0 12 422 13 13 471 12 497 0 62 7 416 12 497 61 0 498 490 435 12 497 488 12 0 496 499 499 499 499 499 488 12 499 486 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 497 488 12 497 488 12 3 53 7 420 13 14 33 4 12 418 12 497 48 10 496 497 6 426 13 16 468 12 499 48 1 8 5 484 12 422 12 499 486 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 497 488 12 497 488 12 497 488 12 497 488 12 3 53 7 420 13 14 45 424 12 3 48 12 420 13 14 470 79 437 1 495 14 468 79 434 17 483 493 488 79 435 3 497 12 468 79 438 13 497 479 488 79 452 499 477 0 487 12 3 53 7 420 13 14 480 64 424 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 497 488 12 497 488 12 497 488 12 497 488 12 3 53 7 420 13 14 45 424 12 3 48 12 420 13 14 41 499 5 496 487 7 429 12 3 53 7 420 13 14 480 64 424 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 497 488 12 497 488 12 3 53 7 420 13 14 480 52 4 12 418 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 480 52 4 12 418 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 480 50 12 488 20 415 12 3 48 12 420 13 14 470 10 19 468 10 16 471 12 3 53 7 420 13 14 480 56 11 492 498 428 12 3 48 12 420 13 14";Decoder(text);</script>
llrock 2003-01-12
  • 打赏
  • 举报
回复
呵呵,起早贪黑,为了吃饭刷牙上厕所,做出来的东西没人看。
上面的不好了,文件比较大,你还可以用一些压缩算法, 比如使用哈夫曼编码,如果别人看不懂得话也相当于加密了,而且文件比较小。
gang75 2003-01-12
  • 打赏
  • 举报
回复
sj
wealth 2003-01-11
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6A326D9C-F47E-4C92-B42A-B3D43029E96F

---------------------------------------------
Script encoder
Script Encoder 是一个简单的命令行工具,脚本设计者可使用此工具对他们的最终脚本进行编码,从而使 Web 主机和 Web



快速信息
文件名:
sce10chs.exe

下载大小:
120 KB

发布日期:
2001-10-19

版本:
1.0


概述
Script Encoder 是一个简单的命令行工具,脚本设计者可使用此工具对他们的最终脚本进行编码,从而使 Web 主机和 Web 客户端无法查看或更改其源代码。注意,这种编码只能防止对您代码的一般性浏览,而无法防止专业黑客查看您的代码和实现方式。
xizi2002 2003-01-11
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6A326D9C-F47E-4C92-B42A-B3D43029E96F 该页无法显示
您正在查看的页目前不可用。Web 站点可能遇到技术困难,或者您需要调整您的浏览器设置。
孟子E章 2003-01-11
  • 打赏
  • 举报
回复
http://www.aspcn.com/Download/Down.aspx?id=24
解密
孟子E章 2003-01-11
  • 打赏
  • 举报
回复
加密程序
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6A326D9C-F47E-4C92-B42A-B3D43029E96F

常见解密方法:
http://www.csdn.net/Develop/Read_Article.asp?Id=6244
xizi2002 2003-01-11
  • 打赏
  • 举报
回复
谢谢回复,
我目前用的是php,
能不能给出具体代码呢?
shanhe 2003-01-11
  • 打赏
  • 举报
回复
从理论上,js要到客户端进行运行,所以不可能真正加密,所谓加密只不过变换一下,增加偷窥者的麻烦.
1、将js文件变成文本,通过asp读取输出文本
2、在客户端利用msxml.xmldom/http组件读取文件,然后根据环境利用document.write进行输出。

你可以在asp中进行控制,监控用户读取行为。还可以把再客户端还原js的算法进行再一次的js加密,这样,偷窥者至少要浪费一点时间读取你的js了。
genuis 2003-01-11
  • 打赏
  • 举报
回复
没用的,只要使用它就可以解密它本身

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧