关于jQuery实现base64前台加密解密功能
本文主要介绍了jQuery实现base64前台加密解密功能,结合实例形式分析了jquery.base64.js实现前台base64加密与解密功能的实现方法,并给出了java实现后台base64加密解密的操作示例对比验证加密效果,需要的朋友可以参考下,希望能帮助到大家。
关于加密,很多人想到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"> var path=document.getElementById("path").value; function app(info){ $("#txt").val($("#txt").val()+'\n'+info); } function subfunc(){ var put1=$.trim($("#putcardno01").val()); // var estxt=$.base64.encode(put1); //var estxt=$.base64.btoa(put1); var estxt=encodeBase64(put1); $("#putcardno02").val(estxt); app("加密后["+estxt+"]"); } function subfunc02(){ var put1=$.trim($("#putcardno02").val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); var estxt=decodeBase64(put1); app("解密后["+estxt+"]"); } ////////////////////////////////////////// var numTimes=5; function subfunc03(){ var put1=$.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+"]"); } function subfunc04(){ var put1=$.trim($("#putcardno03").val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); //estxt=$.base64.atob(estxt); estxt=decodeBase64(put1,numTimes); app(numTimes+"次解密后["+estxt+"]"); } function clearrr(){ $("#putcardno02").val(""); $("#putcardno03").val(""); $("#putcardno04").val(""); $("#txt").val(""); } //加密方法。没有过滤首尾空格,即没有trim. //加密可以加密N次,对应解密N次就可以获取明文 function encodeBase64(mingwen,times){ var code=""; var num=1; if(typeof times=='undefined'||times==null||times==""){ num=1; }else{ var vt=times+""; num=parseInt(vt); } if(typeof mingwen=='undefined'||mingwen==null||mingwen==""){ }else{ $.base64.utf8encode = true; code=mingwen; for(var i=0;i<num;i++){ code=$.base64.btoa(code); } } return code; } //解密方法。没有过滤首尾空格,即没有trim //加密可以加密N次,对应解密N次就可以获取明文 function decodeBase64(mi,times){ var mingwen=""; var num=1; if(typeof times=='undefined'||times==null||times==""){ num=1; }else{ var vt=times+""; num=parseInt(vt); } if(typeof mi=='undefined'||mi==null||mi==""){ }else{ $.base64.utf8encode = true; mingwen=mi; for(var i=0;i<num;i++){ mingwen=$.base64.atob(mingwen); } } return mingwen; } /* 测试 输入 suolong2014version 加密后[c3VvbG9uZzIwMTR2ZXJzaW9u] 解密后[suolong2014version] 5次加密后[VjFod1QxWXlVblJUYTJoUVYwWmFhRnBYZEhOTk1WSlhWV3hPVG1KSVFscFZNalYzWVVaYU5tSkVSVDA9] 5次解密后[suolong2014version] */ </script>
在后台加密解密是不是和前台一样?
我们测试一下:
package com.code; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * * Base64加密--解密 * * @author lushuaiyin * */ public class Base64Util { /** * @param args */ public static void main(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次 public static String encodeBase64(String mingwen,int times){ int num=(times<=0)?1:times; String code=""; if(mingwen==null||mingwen.equals("")){ }else{ code=mingwen; for(int i=0;i<num;i++){ code=encodeBase64(code); } System.out.println("加密"+num+"次后["+code+"]"); } return code; } //对应提供解密N次 public static String decodeBase64(String mi,int times){ int num=(times<=0)?1:times; String mingwen=""; if(mi==null||mi.equals("")){ }else{ mingwen=mi; for(int i=0;i<num;i++){ mingwen=decodeBase64(mingwen); } System.out.println("解密"+num+"次后["+mingwen+"]"); } return mingwen; } /////////////////////////////////////////////////////////////////// public static String encodeBase64(String mingwen){ String code=""; if(mingwen==null||mingwen.equals("")){ }else{ BASE64Encoder encoder = new BASE64Encoder(); try { code=encoder.encode(mingwen.getBytes()); } catch (Exception e) { e.printStackTrace(); } // System.out.println("加密后["+code+"]"); } return code; } public static String decodeBase64(String mi){ String mingwen=""; if(mi==null||mi.equals("")){ }else{ BASE64Decoder decoder = new BASE64Decoder(); try { byte[] by = decoder.decodeBuffer(mi); mingwen = new String(by); } catch (Exception e) { e.printStackTrace(); } // System.out.println("解密后["+mingwen+"]"); } return mingwen; } } /* 打印: 测试明文[suolong2014version] 加密后[c3VvbG9uZzIwMTR2ZXJzaW9u] 解密后[suolong2014version] N次加密测试-------- 加密2次后[YzNWdmJHOXVaekl3TVRSMlpYSnphVzl1] 解密2次后[suolong2014version] 加密5次后[VjFod1QxWXlVblJUYTJoUVYwWmFhRnBYZEhOTk1WSlhWV3hPVG1KSVFscFZNalYzWVVaYU5tSkVS VDA9] 解密5次后[suolong2014version] */
从结果上看,jquery.base64.js加密解密和java的base64加密解密是一样的。
相关推荐:
Atas ialah kandungan terperinci 关于jQuery实现base64前台加密解密功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Penjelasan terperinci kaedah rujukan jQuery: Panduan Mula Pantas jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas dalam pembangunan tapak web Ia memudahkan pengaturcaraan JavaScript dan menyediakan pemaju dengan fungsi dan ciri yang kaya. Artikel ini akan memperkenalkan kaedah rujukan jQuery secara terperinci dan menyediakan contoh kod khusus untuk membantu pembaca bermula dengan cepat. Memperkenalkan jQuery Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam fail HTML. Ia boleh diperkenalkan melalui pautan CDN atau dimuat turun

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Dalam jQuery, kaedah menghantar permintaan PUT adalah serupa dengan menghantar jenis permintaan lain, tetapi anda perlu memberi perhatian kepada beberapa butiran dan tetapan parameter. Permintaan PUT biasanya digunakan untuk mengemas kini sumber, seperti mengemas kini data dalam pangkalan data atau mengemas kini fail pada pelayan. Berikut ialah contoh kod khusus menggunakan kaedah permintaan PUT dalam jQuery. Mula-mula, pastikan anda memasukkan fail perpustakaan jQuery, kemudian anda boleh menghantar permintaan PUT melalui: $.ajax({u

jQuery ialah perpustakaan JavaScript yang pantas, kecil dan kaya dengan ciri yang digunakan secara meluas dalam pembangunan bahagian hadapan. Sejak dikeluarkan pada tahun 2006, jQuery telah menjadi salah satu alat pilihan untuk banyak pembangun, tetapi dalam aplikasi praktikal, ia juga mempunyai beberapa kelebihan dan kekurangan. Artikel ini akan menyediakan analisis mendalam tentang kelebihan dan kekurangan jQuery dan menggambarkannya dengan contoh kod khusus. Kelebihan: 1. Sintaks ringkas Reka bentuk sintaks jQuery adalah ringkas dan jelas, yang boleh meningkatkan kebolehbacaan dan kecekapan menulis kod. sebagai contoh,

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Dalam pembangunan bahagian hadapan, kita sering menghadapi keperluan untuk memanipulasi atribut ketinggian elemen. Kadangkala, kita mungkin perlu menukar ketinggian unsur secara dinamik, dan kadangkala kita perlu mengalih keluar atribut ketinggian unsur. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengalih keluar atribut ketinggian elemen dan memberikan contoh kod khusus. Sebelum menggunakan jQuery untuk mengendalikan atribut ketinggian, kita perlu terlebih dahulu memahami atribut ketinggian dalam CSS. Atribut ketinggian digunakan untuk menetapkan ketinggian elemen

Tajuk: Petua jQuery: Cepat ubah suai teks semua teg pada halaman Dalam pembangunan web, kita selalunya perlu mengubah suai dan mengendalikan elemen pada halaman. Apabila menggunakan jQuery, kadangkala anda perlu mengubah suai kandungan teks semua teg dalam halaman sekaligus, yang boleh menjimatkan masa dan tenaga. Berikut akan memperkenalkan cara menggunakan jQuery untuk mengubah suai teks semua teg pada halaman dengan cepat, dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan fail perpustakaan jQuery dan memastikan bahawa kod berikut dimasukkan ke dalam halaman: <

Tajuk: Gunakan jQuery untuk mengubah suai kandungan teks semua teg jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas untuk mengendalikan operasi DOM. Dalam pembangunan web, kita sering menghadapi keperluan untuk mengubah suai kandungan teks tag pautan (tag) pada halaman. Artikel ini akan menerangkan cara menggunakan jQuery untuk mencapai matlamat ini dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam halaman. Tambahkan kod berikut dalam fail HTML:

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Apabila menggunakan jQuery untuk mengendalikan elemen DOM, anda sering menghadapi situasi di mana anda perlu menentukan sama ada sesuatu elemen mempunyai atribut tertentu. Dalam kes ini, kita boleh melaksanakan fungsi ini dengan mudah dengan bantuan kaedah yang disediakan oleh jQuery. Berikut akan memperkenalkan dua kaedah yang biasa digunakan untuk menentukan sama ada elemen jQuery mempunyai atribut khusus, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan kaedah attr() dan operator jenis // untuk menentukan sama ada elemen mempunyai atribut tertentu

jQuery ialah perpustakaan JavaScript popular yang digunakan secara meluas untuk mengendalikan manipulasi DOM dan pengendalian acara dalam halaman web. Dalam jQuery, kaedah eq() digunakan untuk memilih elemen pada kedudukan indeks tertentu Senario penggunaan dan aplikasi khusus adalah seperti berikut. Dalam jQuery, kaedah eq() memilih elemen pada kedudukan indeks yang ditentukan. Kedudukan indeks mula dikira dari 0, iaitu indeks elemen pertama ialah 0, indeks elemen kedua ialah 1, dan seterusnya. Sintaks kaedah eq() adalah seperti berikut: $("s
