Java と js は、フロントエンド暗号化とバックエンド復号化、およびバックエンド暗号化とフロントエンド復号化 (Base64) を実装します。

目次

1. フロントエンド暗号化とバックエンド復号化

2. バックエンド暗号化とフロントエンド復号化


フロントエンドとバックエンドのデータを送信する際には、多くの場合、個人データ (ユーザー名やパスワードなど) の送信が伴いますが、その際、個人データの暗号化と復号化が必要になります。

1. フロントエンド暗号化とバックエンド復号化

        1.1 フロントエンドの jQuery 実装

<script src="js/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {

        var data = "您好+";
        while (data.indexOf("+") > -1) {
            data = data.replace("+", "%2B");
        }
        data = btoa(encodeURI(data));
        console.log("编码后" + data);    //编码后JUU2JTgyJUE4JUU1JUE1JUJEJTI1MkI=
        $.post("/test/testPost", {"data":data},function (data) {

        })
    })
</script>

        1.2 バックエンド

  @PostMapping("/testPost")
    @ResponseBody
    public int testPost(String data) throws UnsupportedEncodingException {
        System.out.println("解码前" + data);   //解码前JUU2JTgyJUE4JUU1JUE1JUJEJTI1MkI=
        //1.开始解码
        Base64 base64 = new Base64();
        String decode = URLDecoder.decode(new String(base64.decode(data), "utf-8"), "utf-8");
        System.out.println("解码后" + decode);  //解码后您好%2B
        //2.将%2B换回+
        String decodeVo = decode.replace("%2B","+");
        System.out.println("完全解码" + decodeVo);    //完全解码您好+
        return 1;
    }

2. バックエンド暗号化とフロントエンド復号化

        2.1 バックエンドの暗号化

    @GetMapping("/testGet")
    @ResponseBody
    public String testGet(){
        String data = "您好+";
        data = Base64.encodeBase64String(data.getBytes(StandardCharsets.UTF_8));
        System.out.println("编码后" + data);   //编码后5oKo5aW9Kw==
        return data;
    }

        2.2 フロントエンドの復号化 (Base64.js の導入が必要)  

        クリックして Base64.js を抽出します

        抽出コード:cccc

         $.get("/test/testGet",{},function (result) {
            console.log("解码前" + result);   //解码前5oKo5aW9Kw==
            result = Base64.decode(result);
            console.log("解码后" + result);   //解码后您好+
        });

おすすめ

転載: blog.csdn.net/m0_63393739/article/details/126765484