<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      當你的才華還撐不起你的夢想時,你只能一直前進!

      VUE + Springboot + SM4前端加密 后端解密

      前端比較簡單,只需在使用時引入 npm 包

      const SM4 = require("gm-crypt").sm4;

      下面是前端加解密操作

      const sm4Config = {
        //配置sm4參數
        key: "16位Key值",//這里這個key值是跟后端要的
        mode: "cbc", // 加密的方式有兩種,ecb和cbc兩種,也是看后端如何定義的,cbc還要加一個iv的參數,ecb不用
        cipherType: "base64", // 
        iv: "16位iv值"// 這里key 和 iv 需要和后端保持一直
      };
      let sm4 = new SM4(sm4Config);//這里new一個函數,將上面的sm4Config作為參數傳遞進去。然后就可以開心的加密了
      // let pwd = sm4.encrypt('123456'); //密碼加密
      // let pwd1 = sm4.decrypt('加密后的密文'); //密碼解密

      有想要細心研究的同學可以打開我們項目的 node_modules 文件夾,搜索 gm-crypt 就可以找到了,如圖所示

       

       如果想要在其他項目使用,就把文件拷出來就行了,這里就不細說了。

      后端的稍后補充。

        /**
         * 和前端key一致
         */
        private static String secretKey = "XXXXXXXXXXXXXXXX";
      
        /**
         * 和前端iv一致
         */
        private static String iv = "XXXXXXXXXXXXXXXX";
      
        /**
         * cbc加密
         */
        public static String encrypt(String plainTxt) {
          String cipherTxt = "";
          SymmetricCrypto sm4 = new SM4(
              Mode.CBC, Padding.PKCS5Padding, secretKey.getBytes(CharsetUtil.CHARSET_UTF_8),
              iv.getBytes(CharsetUtil.CHARSET_UTF_8));
          byte[] encrypHex = sm4.encrypt(plainTxt);
          cipherTxt = Base64.encode(encrypHex);
          return cipherTxt;
        }
      
        /**
         * cbc解密
         */
        public static String decrypt(String cipherTxt) {
          String plainTxt = "";
          try {
            SymmetricCrypto sm4 = new SM4(
                Mode.CBC, Padding.PKCS5Padding, secretKey.getBytes(CharsetUtil.CHARSET_UTF_8),
                iv.getBytes(CharsetUtil.CHARSET_UTF_8));
            byte[] cipherHex = Base64.decode(cipherTxt.trim());
            plainTxt = sm4.decryptStr(cipherHex, CharsetUtil.CHARSET_UTF_8);
      
          } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }
          return plainTxt;
        }

       工具類:hutool

      posted @ 2022-04-22 17:13  One'-_-'Piece  閱讀(5152)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕有码高清日韩| 国产精品v欧美精品∨日韩| 2021国产成人精品久久| 国产成人综合久久亚洲精品| 九九久久人妻一区精品色| 中文字幕乱码中文乱码毛片| 日韩高清砖码一二区在线| 精品久久久久久无码不卡| 亚洲人成网站观看在线观看| 亚洲色大成网站www看下面| 国产亚洲无日韩乱码| 荥经县| 小嫩批日出水无码视频免费| 边添小泬边狠狠躁视频| 宝贝腿开大点我添添公口述视频| 中文字幕在线日韩一区| 17岁日本免费bd完整版观看| 日韩乱码卡一卡2卡三卡四| 高潮videossex潮喷| 沁阳市| 99精品视频九九精品视频| 国产精品中文字幕综合| 亚洲日韩乱码中文无码蜜桃臀| 开心久久综合激情五月天 | 男人进女人下部全黄大色视频| 忘忧草日本在线播放www| 亚洲综合色区另类av| 亚洲人成网网址在线看| 久久久久久性高| 久久妇女高潮喷水多| 亚洲人妻系列中文字幕| 大肉大捧一进一出视频| 激情六月丁香婷婷四房播| 国产MD视频一区二区三区| 亚洲色婷婷久久精品av蜜桃久久| 91色老久久精品偷偷蜜臀| 香蕉EEWW99国产精选免费| 99中文字幕国产精品| 黄色三级亚洲男人的天堂| 亚洲熟妇无码另类久久久| 国产精品第二页在线播放|