javascript实现base64 md5 sha1 密码加密
1、base64加密
在页面中引入base64.js文件,调用方法为:
<!DOCTYPEHTML>
<html>
<head>
<metacharset="utf-8">
<title>base64加密</title>
<scripttype="text/javascript"src="base64.js"></script>
<scripttype="text/javascript">
varb=newBase64();
varstr=b.encode("admin:admin");
alert("base64encode:"+str);
//解密
str=b.decode(str);
alert("base64decode:"+str);
</script>
</head>
<body>
</body>
</html>
2、md5加密
在页面中引用md5.js文件,调用方法为
<!DOCTYPEHTML>
<html>
<head>
<metacharset="utf-8">
<title>md5加密</title>
<scripttype="text/ecmascript"src="md5.js"></script>
<scripttype="text/javascript">
varhash=hex_md5("123dafd");
alert(hash)
</script>
</head>
<body>
</body>
</html>
3、sha1加密
据说这是最安全的加密
页面中引入sha1.js,调用方法为
<!DOCTYPEHTML>
<html>
<head>
<metacharset="utf-8">
<title>sha1加密</title>
<scripttype="text/ecmascript"src="sha1.js"></script>
<scripttype="text/javascript">
varsha=hex_sha1('mima123465')
alert(sha)
</script>
</head>
<body>
</body>
</html>
文章所包含的加密下载地址:
文中所含的js文件打包下载地址
下面给大家补充点知识:非常流行的javascript的md5加密
在网上看到的javascript的MD5加密,看比较好,就摘录了,供参考
<HTML>
<HEAD>
<METAhttp-equiv='Content-Type'content='text/html;charset=gb'>
<TITLE>非常流行的JS的md加密办法</TITLE>
</HEAD>
<BODY>
<inputid=testvalue=webasp>
<inputtype=buttonvalue=mdonclick="alert(hex_md(test.value))">
<script>
varhexcase=;/*hexoutputformat.-lowercase;-uppercase*/
varbpad="";/*base-padcharacter."="forstrictRFCcompliance*/
varchrsz=;/*bitsperinputcharacter.-ASCII;-Unicode*/
/*
*Thesearethefunctionsyou'llusuallywanttocall
*Theytakestringargumentsandreturneitherhexorbase-encodedstrings
*/
functionhex_md(s){returnbinlhex(core_md(strbinl(s),s.length*chrsz));}
functionb_md(s){returnbinlb(core_md(strbinl(s),s.length*chrsz));}
functionhex_hmac_md(key,data){returnbinlhex(core_hmac_md(key,data));}
functionb_hmac_md(key,data){returnbinlb(core_hmac_md(key,data));}
/*Backwardscompatibility-sameashex_md()*/
functioncalcMD(s){returnbinlhex(core_md(strbinl(s),s.length*chrsz));}
/*
*Performasimpleself-testtoseeiftheVMisworking
*/
functionmd_vm_test()
{
returnhex_md("abc")=="cdfbdfdef";
}
/*
*CalculatetheMDofanarrayoflittle-endianwords,andabitlength
*/
functioncore_md(x,len)
{
/*appendpadding*/
x[len>>]|=x<<((len)%);
x[(((len+)>>>)<<)+]=len;
vara=;
varb=-;
varc=-;
vard=;
for(vari=;i<x.length;i+=)
{
varolda=a;
varoldb=b;
varoldc=c;
varoldd=d;
a=md_ff(a,b,c,d,x[i+],,-);
d=md_ff(d,a,b,c,x[i+],,-);
c=md_ff(c,d,a,b,x[i+],,);
b=md_ff(b,c,d,a,x[i+],,-);
a=md_ff(a,b,c,d,x[i+],,-);
d=md_ff(d,a,b,c,x[i+],,);
c=md_ff(c,d,a,b,x[i+],,-);
b=md_ff(b,c,d,a,x[i+],,-);
a=md_ff(a,b,c,d,x[i+],,);
d=md_ff(d,a,b,c,x[i+],,-);
c=md_ff(c,d,a,b,x[i+],,-);
b=md_ff(b,c,d,a,x[i+],,-);
a=md_ff(a,b,c,d,x[i+],,);
d=md_ff(d,a,b,c,x[i+],,-);
c=md_ff(c,d,a,b,x[i+],,-);
b=md_ff(b,c,d,a,x[i+],,);
a=md_gg(a,b,c,d,x[i+],,-);
d=md_gg(d,a,b,c,x[i+],,-);
c=md_gg(c,d,a,b,x[i+],,);
b=md_gg(b,c,d,a,x[i+],,-);
a=md_gg(a,b,c,d,x[i+],,-);
d=md_gg(d,a,b,c,x[i+],,);
c=md_gg(c,d,a,b,x[i+],,-);
b=md_gg(b,c,d,a,x[i+],,-);
a=md_gg(a,b,c,d,x[i+],,);
d=md_gg(d,a,b,c,x[i+],,-);
c=md_gg(c,d,a,b,x[i+],,-);
b=md_gg(b,c,d,a,x[i+],,);
a=md_gg(a,b,c,d,x[i+],,-);
d=md_gg(d,a,b,c,x[i+],,-);
c=md_gg(c,d,a,b,x[i+],,);
b=md_gg(b,c,d,a,x[i+],,-);
a=md_hh(a,b,c,d,x[i+],,-);
d=md_hh(d,a,b,c,x[i+],,-);
c=md_hh(c,d,a,b,x[i+],,);
b=md_hh(b,c,d,a,x[i+],,-);
a=md_hh(a,b,c,d,x[i+],,-);
d=md_hh(d,a,b,c,x[i+],,);
c=md_hh(c,d,a,b,x[i+],,-);
b=md_hh(b,c,d,a,x[i+],,-);
a=md_hh(a,b,c,d,x[i+],,);
d=md_hh(d,a,b,c,x[i+],,-);
c=md_hh(c,d,a,b,x[i+],,-);
b=md_hh(b,c,d,a,x[i+],,);
a=md_hh(a,b,c,d,x[i+],,-);
d=md_hh(d,a,b,c,x[i+],,-);
c=md_hh(c,d,a,b,x[i+],,);
b=md_hh(b,c,d,a,x[i+],,-);
a=md_ii(a,b,c,d,x[i+],,-);
d=md_ii(d,a,b,c,x[i+],,);
c=md_ii(c,d,a,b,x[i+],,-);
b=md_ii(b,c,d,a,x[i+],,-);
a=md_ii(a,b,c,d,x[i+],,);
d=md_ii(d,a,b,c,x[i+],,-);
c=md_ii(c,d,a,b,x[i+],,-);
b=md_ii(b,c,d,a,x[i+],,-);
a=md_ii(a,b,c,d,x[i+],,);
d=md_ii(d,a,b,c,x[i+],,-);
c=md_ii(c,d,a,b,x[i+],,-);
b=md_ii(b,c,d,a,x[i+],,);
a=md_ii(a,b,c,d,x[i+],,-);
d=md_ii(d,a,b,c,x[i+],,-);
c=md_ii(c,d,a,b,x[i+],,);
b=md_ii(b,c,d,a,x[i+],,-);
a=safe_add(a,olda);
b=safe_add(b,oldb);
c=safe_add(c,oldc);
d=safe_add(d,oldd);
}
returnArray(a,b,c,d);
}
/*
*Thesefunctionsimplementthefourbasicoperationsthealgorithmuses.
*/
functionmd_cmn(q,a,b,x,s,t)
{
returnsafe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);
}
functionmd_ff(a,b,c,d,x,s,t)
{
returnmd_cmn((b&c)|((~b)&d),a,b,x,s,t);
}
functionmd_gg(a,b,c,d,x,s,t)
{
returnmd_cmn((b&d)|(c&(~d)),a,b,x,s,t);
}
functionmd_hh(a,b,c,d,x,s,t)
{
returnmd_cmn(b^c^d,a,b,x,s,t);
}
functionmd_ii(a,b,c,d,x,s,t)
{
returnmd_cmn(c^(b|(~d)),a,b,x,s,t);
}
/*
*CalculatetheHMAC-MD,ofakeyandsomedata
*/
functioncore_hmac_md(key,data)
{
varbkey=strbinl(key);
if(bkey.length>)bkey=core_md(bkey,key.length*chrsz);
varipad=Array(),opad=Array();
for(vari=;i<;i++)
{
ipad[i]=bkey[i]^x;
opad[i]=bkey[i]^xCCCC;
}
varhash=core_md(ipad.concat(strbinl(data)),+data.length*chrsz);
returncore_md(opad.concat(hash),+);
}
/*
*Addintegers,wrappingat^.Thisuses-bitoperationsinternally
*toworkaroundbugsinsomeJSinterpreters.
*/
functionsafe_add(x,y)
{
varlsw=(x&xFFFF)+(y&xFFFF);
varmsw=(x>>)+(y>>)+(lsw>>);
return(msw<<)|(lsw&xFFFF);
}
/*
*Bitwiserotatea-bitnumbertotheleft.
*/
functionbit_rol(num,cnt)
{
return(num<<cnt)|(num>>>(-cnt));
}
/*
*Convertastringtoanarrayoflittle-endianwords
*IfchrszisASCII,characters>havetheirhi-bytesilentlyignored.
*/
functionstrbinl(str)
{
varbin=Array();
varmask=(<<chrsz)-;
for(vari=;i<str.length*chrsz;i+=chrsz)
bin[i>>]|=(str.charCodeAt(i/chrsz)&mask)<<(i%);
returnbin;
}
/*
*Convertanarrayoflittle-endianwordstoahexstring.
*/
functionbinlhex(binarray)
{
varhex_tab=hexcase?"ABCDEF":"abcdef";
varstr="";
for(vari=;i<binarray.length*;i++)
{
str+=hex_tab.charAt((binarray[i>>]>>((i%)*+))&xF)+
hex_tab.charAt((binarray[i>>]>>((i%)*))&xF);
}
returnstr;
}
/*
*Convertanarrayoflittle-endianwordstoabase-string
*/
functionbinlb(binarray)
{
vartab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
varstr="";
for(vari=;i<binarray.length*;i+=)
{
vartriplet=(((binarray[i>>]>>*(i%))&xFF)<<)
|(((binarray[i+>>]>>*((i+)%))&xFF)<<)
|((binarray[i+>>]>>*((i+)%))&xFF);
for(varj=;j<;j++)
{
if(i*+j*>binarray.length*)str+=bpad;
elsestr+=tab.charAt((triplet>>*(-j))&xF);
}
}
returnstr;
}
</script>
</BODY></HTML>
以上所述是小编给大家介绍的javascript实现base64md5sha1密码加密,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!