Javascript脚本实现静态网页加密,阅读Javascript脚本实现静态网页加密,前两天看见有人问静态网页加密问题,就写了这个代码思路:加密时:先把用户的密钥A用md5加密为B,然后用B异或源文件S0得到目标文件S1,把S1存入js变量中。解密时:询问密钥,然后操作同加密
前两天看见有人问静态网页加密问题,就写了这个代码
思路:
加密时:先把用户的密钥A用md5加密为B,然后用B异或源文件S0得到目标文件S1,把S1存入js变量中。
解密时:询问密钥,然后操作同加密。
因为用了md5,个人认为没有密钥的时候是无法破解的(暴力除外)
大家试用一下哈哈:
源代码如下:
代码如下:
<html>
<head>
<title>Web Encoder</title>
<style>
body {
font-size:12px;
line-height:12px;
background-Color:buttonface;
border-width:0px;
overflow:auto;
margin:0px;
padding:4px;
}
#t1, #t2 {
width:100%;
height:40%;
border-width:1px;
overflow:auto;
height:expression((document.body.clientHeight-100)/2);
}
input {
border-width:1px;
padding-left:10px;
padding-right:10px;
margin:4px;
}
</style>
<script>
function webEncode(){
strSource=escape(XOR(t1.value,STR.md5(p1.value)));
//strSource=t1.value;
strOut="<script>/r/nstrHTML=/"/";/r/n";
for(var i=0;i+70<strSource.length;i+=70){
strOut+="strHTML+=/""+addSlash(strSource.substring(i,i+70))+"/";/r/n";
}
strOut+="strHTML+=/""+addSlash(strSource.substring(i,strSource.length))+"/";/r/n";
strOut+=XOR+"/r/n";
//below code load the STR object
strOut+="var STR =/r/n{/r/n/thexcase : 0, //* hex output format. 0 - lowercase; 1 - ";
strOut+="uppercase *///r/n/tb64pad : /"/", //* base-64 pad character. /"=/" for ";
strOut+="strict RFC compliance *///r/n/tchrsz : 8, //* bits per input character";
strOut+=". 8 - ASCII; 16 - Unicode *///r/n/t/r/n/tb64_hmac_md5:/r/n/t/tfunction(key, ";
strOut+="data) { return binl2b64(core_hmac_md5(key, data)); },/r/n/t/t/r/n/tb64_md5:/r/n";
strOut+="/t/tfunction(s){ return binl2b64(core_md5(str2binl(s), s.length * this.c";
strOut+="hrsz));},/r/n/t/t/r/n/tbinl2b64:/r/n/t/tfunction(binarray){/r/n/t/t var tab = /"ABCDE";
strOut+="FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+///";/r/n/t/t var";
strOut+=" str = /"/";/r/n/t/t for(var i = 0; i < binarray.length * 4; i += 3)/r/n/t/t {";
strOut+="/r/n/t/t var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) ";
新闻热点
疑难解答
图片精选