Base64加密/解密(前台和后台)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/su1573/article/details/82500608

一个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(){};


效果展示

在页面输入值,可以看到加密后的密文
这里写图片描述

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/su1573/article/details/82500608