jeecgboot 前后端加密傳輸


jeecgboot前后端加密傳輸(登錄)

參考地址

1.后台登錄接口得參數獲取和解密

文件地址:jeecg-boot-module-system\src\main\java\org\jeecg\modules\system\controller\LoginController.java

  1. 導入aes加密處理類:AesEncryptUtil;

    import org.jeecg.common.util.encryption.AesEncryptUtil;
    
  2. 用戶名和代碼得解密獲取:部分代碼如下

    @ApiOperation("登錄接口")
    	@RequestMapping(value = "/login", method = RequestMethod.POST)
    	public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
    	public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel) throws Exception {
    
    
    		Result<JSONObject> result = new Result<JSONObject>();
    		String username = sysLoginModel.getUsername();
    		String password = sysLoginModel.getPassword();
    		/*String username = sysLoginModel.getUsername();
    		String password = sysLoginModel.getPassword();*/
            //后台得解密
    		String username = AesEncryptUtil.desEncrypt(sysLoginModel.getUsername(),EncryptedString.key,EncryptedString.iv).trim();
    		String password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword(),EncryptedString.key,EncryptedString.iv).trim();
    

2.前端加密傳輸

文件地址:\src\views\user\Login.vue

  1. data 添加變量,存儲加密用到的key和iv:

    Encrypteds:{
              key:"",
              iv:"",
            },
    
  2. method 添加獲取key和iv得方法:

    //key iv 得初始化方法  
    getEncrypteds(){
        var me = this;
        getAction(`/sys/getEncryptedString`).then((res)=>{
          me.Encrypteds.key = res.result.key
          me.Encrypteds.iv = res.result.iv
        })
      },
         
    
  3. 再在登錄方法之前調用getEncrypteds()完成初始化:就一行代碼,放在loginByUsername()之前就好

    //登錄
          handleSubmit () {
            let that = this
            let loginParams = {};
            that.loginBtn = true;
            // 使用賬戶密碼登錄
            if (that.customActiveKey === 'tab1') {
              this.getEncrypteds();//調用初始化方法
              this.loginByUsername();
            } else {
              this.loginByPhone()
            }
          }, 
    
  4. username 和password得加密傳輸

                  username: encryption(this.model.username,this.Encrypteds.key,this.Encrypteds.iv),
                  password: encryption(this.model.password,this.Encrypteds.key,this.Encrypteds.iv),
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM