密码加密教程,简单易懂!

前端加密:

1,安装: npm install crypto-js

2,创建工具类(src/utils/secret.js)

    

3,login.vue引入加密方法

import {Encrypt} from '../utils/Secret.js'

4.login.vue登录请求发起,对密码参数加密

 let param={

          username:this.loginForm.username,

          password:Encrypt(this.loginForm.password)  //密码加密

        }

后端解密:

1,

pom.xml

<!--密码解密-->

 <dependency>

     <groupId>org.bouncycastle</groupId>

     <artifactId>bcprov-jdk15on</artifactId>

     <version>1.60</version>

</dependency>

  1. 工具类:PasswordUtil

登录Controller对前端传来的密码解密(先导入加密工具类)

//    PasswordUtil.desEncrypt:  前端传来的加密密码进行解密

       User user=userService.loginByInfo(username,

       PasswordUtil.desEncrypt(password));

Md5加密前台:

1,安装:npm i --save js-md5

2,导入main.js导入,之后挂在原型上。

import md5 from 'js-md5'

Vue.prototype.$md5 = md5;

  1. 页面上直接使用$md5

例如: let 加密后的结果   =  this.$md5(“要加密的密码”);

后台md5 加密:

  1. 添加依赖

<!-- MD5加密依赖 -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.11</version>
</dependency>

  1. 写工具类

package com.ws.utils;
import org.apache.commons.codec.digest.DigestUtils;
public class MD5Utils {
    public static String md5(String src) {
        return DigestUtils.md5Hex(src);//加密

    }

    private static final String salt = "1a2b3c4d";//盐值

    public static String inputPassToFormPass(String inputPass) {
        String str = "" + salt.charAt(0) + salt.charAt(2) + inputPass + salt.charAt(5) + salt.charAt(4);
        return md5(str);
    }

    public static String formPassToDBPass(String formPass, String salt) {
        String str = "" + salt.charAt(0) + salt.charAt(2) + formPass + salt.charAt(5) + salt.charAt(4);
        return md5(str);
    }

    public static String inputPassToDbPass(String inputPass, String saltDB) {
        String formPass = inputPassToFormPass(inputPass);
        String dbPass = formPassToDBPass(formPass, saltDB);
        return dbPass;
    }

    //编写主类进行测试
    public static void main(String args[]) {
        String s = "hello";
        System.out.println("原始:---" + s);
        String jmh = MD5Utils.inputPassToFormPass(s);

        System.out.println(inputPassToDbPass("hello","1a2b3c4d1"));
    }
}

  1. 使用

控制器中对传过来的密码进行md5加密:

String password = MD5Utils.inputPassToFormPass(tUserInfo.getUserpwd());
 
userInfoService.login(tUserInfo.getUsercode(), password);

问题:增加功能,修改密码  555555

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值