关于加密,很多人想到encodeuri和escape。这个对加密url,尤其是带中文参数的url很有用。
如果只是想做加密解密,类似于java的des,网上jquery有个jquery.base64.js。
(关于js的md5加密可以用jquery.md5.js,有兴趣可以找来测试一下)。
下面是测试:
<html> <head> <title></title> <meta http-equiv="content-type"content="text/html; charset=utf-8"> <script language="javascript"src="jquery-1.7.1.js"></script> <script language="javascript"src="jquery.base64.js"></script> </head> <body> <input id="path"name="path"type="hidden"value="haha"></input> <input id="putcardno01"name="putcardno01"type="text"size="65"value=""></input> <br> <input onclick="subfunc();"class="btn1"value="提交加密" type="button"></input> <br> 加密后:<input id="putcardno02"name="putcardno02"type="text"size="65"value=""></input> <br> <input onclick="subfunc02();"class="btn1"value="提交解密" type="button"></input> <br> <br> <hr> <input onclick="subfunc03();"class="btn1"value="提交n次加密" type="button"></input> <br> 加密后:<input id="putcardno03"name="putcardno03"type="text"size="65"value=""></input> <br> <input onclick="subfunc04();"class="btn1"value="提交n次解密" type="button"></input> <br> <br> <input onclick="clearrr();"class="btn1"value="清除" type="button"></input> <br> <textarea id='txt'cols="75"rows="19"></textarea> </body> <script language="javascript"> varpath=document.getelementbyid(path).value; functionapp(info){ $(#txt).val($(#txt).val()+'\n'+info); } functionsubfunc(){ varput1=$.trim($(#putcardno01).val()); // var estxt=$.base64.encode(put1); //var estxt=$.base64.btoa(put1); varestxt=encodebase64(put1); $(#putcardno02).val(estxt); app(加密后[+estxt+]); } functionsubfunc02(){ varput1=$.trim($(#putcardno02).val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); varestxt=decodebase64(put1); app(解密后[+estxt+]); } ////////////////////////////////////////// varnumtimes=5; functionsubfunc03(){ varput1=$.trim($(#putcardno01).val()); // var estxt=$.base64.encode(put1); //var estxt=$.base64.btoa(put1); //estxt=$.base64.btoa(estxt); estxt=encodebase64(put1,numtimes); $(#putcardno03).val(estxt); app(numtimes+次加密后[+estxt+]); } functionsubfunc04(){ varput1=$.trim($(#putcardno03).val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); //estxt=$.base64.atob(estxt); estxt=decodebase64(put1,numtimes); app(numtimes+次解密后[+estxt+]); } functionclearrr(){ $(#putcardno02).val(); $(#putcardno03).val(); $(#putcardno04).val(); $(#txt).val(); } //加密方法。没有过滤首尾空格,即没有trim. //加密可以加密n次,对应解密n次就可以获取明文 functionencodebase64(mingwen,times){ varcode=; varnum=1; if(typeoftimes=='undefined'||times==null||times==){ num=1; }else{ varvt=times+; num=parseint(vt); } if(typeofmingwen=='undefined'||mingwen==null||mingwen==){ }else{ $.base64.utf8encode =true; code=mingwen; for(vari=0;i
我们测试一下:
packagecom.code; importsun.misc.base64decoder; importsun.misc.base64encoder; /** * * base64加密--解密 * * @author lushuaiyin * */ publicclassbase64util { /** * @param args */ publicstaticvoidmain(string[] args) { // todo auto-generated method stub string str=suolong2014version; system.out.println(测试明文[+str+]); string basecode =base64util.encodebase64(str); system.out.println(加密后[+basecode+]); if(basecode!=null){ string res =base64util.decodebase64(basecode); system.out.println(解密后[+res+]); } ///////////////////////////////////////// system.out.println(); system.out.println(n次加密测试--------); string basecoden=base64util.encodebase64(str,2); string resn=base64util.decodebase64(basecoden,2); string basecoden3=base64util.encodebase64(str,5); string resn3=base64util.decodebase64(basecoden3,5); } //提供加密n次 publicstaticstring encodebase64(string mingwen,inttimes){ intnum=(times<=0)?1:times; string code=; if(mingwen==null||mingwen.equals()){ }else{ code=mingwen; for(inti=0;i
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jquery做出页面遮罩层效果
在jquery中怎么使用键盘事件
以上就是base64实现加密解密功能的详细内容。
