【www.bbyears.com--jquery】
关于加密,很多人想到encodeURI和escape。这个对加密url,尤其是带中文参数的url很有用。
如果只是想做加密解密,类似于Java的DES,网上jQuery有个jquery.base64.js。
(关于js的md5加密可以用jquery.md5.js,有兴趣可以找来测试一下)。
下面是测试:
<script language="javascript"src="jquery-1.7.1.js"></script> <script language="javascript"src="jquery.base64.js"></script>
加密后:
加密后:
<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.base64.js加密解密和java的base64加密解密是一样的。