后台项目 Express-Mysql-Vue3-TS-Pinia md5加密

155 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第26天,点击查看活动详情

后台项目 Express-Mysql-Vue3-Ts-Pinia md5加密

引言

通过之前一段时间 ExpressMysql 的学习

这里尝试来搭建一个 后台系统 来巩固下学习的技术。

md5加密

我们日常的一些账号密码方面的加密,采取的最多的就是 md5 的加密方式。

它的特点就是:

  • 不可逆,也就是不能反向解出来密码

  • 以及 相同的数据,经过 md5 加密后,得到的值是一样的。

所以基于这两个特点,绝大多数加密时,会选择使用这个方式来进行加密

实现加密

在我们未进行加密时,用户的账号和密码 直接保存到后台,如下图所示

image.png

这样的话,安全性是不高的,所以我们在入库时,勿论前端还是后端做这个加密都可以

这里,我们在前端 实现 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

image.png

为什么是 32 呢,是因为 加密后的长度为 32

加密后得到的结果为:

image.png

数据库中也有我们刚刚注册好的用户数据,以及可以成功登录。

image.png

image.png

总结

通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目,做了登录注册的 md5 加密处理。