持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第26天,点击查看活动详情
后台项目 Express-Mysql-Vue3-Ts-Pinia md5加密
引言
通过之前一段时间 Express 和 Mysql 的学习
这里尝试来搭建一个 后台系统 来巩固下学习的技术。
md5加密
我们日常的一些账号密码方面的加密,采取的最多的就是 md5 的加密方式。
它的特点就是:
-
不可逆,也就是不能反向解出来密码
-
以及 相同的数据,经过 md5 加密后,得到的值是一样的。
所以基于这两个特点,绝大多数加密时,会选择使用这个方式来进行加密
实现加密
在我们未进行加密时,用户的账号和密码 直接保存到后台,如下图所示
这样的话,安全性是不高的,所以我们在入库时,勿论前端还是后端做这个加密都可以
这里,我们在前端 实现 md5 的加密,此时需要安装一个库
npm i crypto-js
之后我们引入 crypto-js ,在我们输入登录密码 进行登录的时候,将密码进行加密处理。
import CryptoJS from 'crypto-js'
password: CryptoJS.MD5(ruleForm.password).toString()
我们注册时,输入密码为 123456,然后很尴尬,发现后端报错了= =
原来是我们定义表格数据时,长度出现了问题
password varchar(10) not null comment '密码',
此时修改该表 这个字段的数据类型
alter table user modify password varchar(32) not null comment '密码'
此时可以看到我们已经将这个字段的长度变为 32
为什么是 32 呢,是因为 加密后的长度为 32 位
加密后得到的结果为:
数据库中也有我们刚刚注册好的用户数据,以及可以成功登录。
总结
通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目,做了登录注册的 md5 加密处理。