VUE 使用md5对用户登录密码进行加密传输到数据库
前言
最近自己在写一个基于vue+nodejs+mysql的小项目,记录一下在用户登录和注册时遇到的关于用md5加密的问题。本人小白一枚,如有问题望各位大佬不吝赐教!
第一步 npm下载js-md5依赖包
npm install --save js-md5 //项目所在目录下载依赖
第二步 引入js-md5
这里有两种方式可供参考
直接在需要使用md5加密的页面引入
import md5 from 'js-md5';
然后将想要加密的数据放入
let a = md5("111111s");
console.log('a', a); //结果为c85dfcf2cf8e79ba8239eff965483c5b
全局挂载,将js-md5添加到vue原型链上
//在vue项目的mian.js文件中,引入js-md5并挂载原型
import md5 from 'js-md5';
Vue.prototype.$md5 = md5;
然后将想要加密的数据放入
let a = this.$md5("111111s");
console.log('a', a); //结果为c85dfcf2cf8e79ba8239eff965483c5b
在项目中,想要将用户注册的密码由明文转为密文,在传递参数时可以先将密码md5加密后,再传给后端接口,放到数据库中。这样数据库中密码存放的就是密文而不是明文了。
// 收集参数 以便发送给后台
let params = {
user: this.addForm.name,
password: md5(this.addForm.pass) //此处将用户注册密码加密,再发给后端
};
在用户注册成功后进行登录时,因为js-md5加密是不可逆的,除非进行暴力破解,例如枚举,所以不需要将数据库中存储的密码密文再转为明文,而是在传递登录密码时将用户输入的密码进行md5加密处理,再与之对比验证。