一个demo示例,内部包含所需要的jar包:
https://download.csdn.net/download/su1573/10656061
前台加密:
js前台实现Base64加密/解密(encoder/decoder)
在js文件中编写以下代码
function btn_test(){
window.wxc.xcConfirm('成功!', window.wxc.xcConfirm.typeEnum.success);
var pwd = $("#pwd_id").val();
alert("111:"+pwd);
//md5加密后,不可逆转,已变成密文
// var pwd_en = $.base64.btoa($.md5(pwd));
/*
* $.base64.btoa(str) 加密
* $.base64.atob(str) 解密
*/
//使用encodeURIComponent对中文进行编码,然后加密
var pwd_en = $.base64.btoa(encodeURIComponent(pwd));
alert("222:"+pwd_en);
//使用 decodeURIComponent对解密后的数据编码,然后就还原成了中文
var pwd_de = decodeURIComponent($.base64.atob(pwd_en));
alert("333:"+pwd_de);
}
前提是需要在jsp文件中引入
<head>
<script type="text/javascript" src="../common/jquery/jquery.base64.js"></script>
<script type="text/javascript" src="../common/jquery/jquery.md5.js"></script>
</head>
<!-- 只展示body标签 -->
<body>
<div style="margin: 200px 400px" border="1">
<input id="btn_id" class="sgBtn" name="btn_name" type="button" onclick="btn_test()" value="按下" />
文本:<textarea rows="10" cols="50" id="pwd_id"></textarea>
</div>
</body>
java后台实现Base64加密/解密(encoder/decoder)
有两种方式:
第一种:
在java 7 及以下
使用com.sun.org.apache.xerces.internal.impl.dv.util.Base64
代码如下:
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class TestBase64 {
public static void main(String[] args) throws Exception{
//第一种
Base64 base64 = new Base64();
String pwd = "加密文字";
byte[] byData = pwd.getBytes("UTF-8");
String pwdEn = base64.encode(byData);
System.out.println("加密:"+pwdEn);
String pwdDe = new String (base64.decode(pwdEn),"UTF-8");
System.out.println("解密:"+pwdDe);
}
}
在使用时,要处理异常,一种是throws Exception,另一种是try{}catch(){};
第二种:
Java 8及以上
使用java.util.Base64
代码如下:
import java.util.Base64;
public class TestBase64 {
public static void main(String[] args) throws Exception{
//第二种
Base64.Encoder encoder = Base64.getEncoder();
Base64.Decoder decoder = Base64.getDecoder();
String pwd = "加密文字";
byte[] byData = pwd.getBytes("UTF-8");
String pwdEn = encoder.encodeToString(byData);
System.out.println("加密:"+pwdEn);
String pwdDe = new String(decoder.decode(pwdEn),"UTF-8");
System.out.println("解密:"+pwdDe);
}
}
在使用时,要处理异常,一种是throws Exception,另一种是try{}catch(){};
效果展示
在页面输入值,可以看到加密后的密文