最近在做的项目(Vue)中有这样一个功能:记住密码。这个实现起来其实很简单了,就是一个存取cookie的过程,但是考虑到安全性问题,需要进行加密处理,这里给大家简单介绍两种方法:base64加密和md5加密。
还是熟悉的三步骤:安装,引入,使用
一、安装
在项目根目录下,打开命令行工具,(小技巧:在文件夹目录下,按住Shift键 +鼠标右键,会出现:在此处打开命令行窗口,可直接进入该文件夹下的命令行窗口)

npm install --save js-base64
npm install --save js-md5

二、引入
在需要的用到的项目文件中引入:

import md5 from 'js-md5';
let Base64 = require('js-base64').Base64;

三、使用
因为MD5加密理论上是不可逆的(虽然网上有可逆算法),而且考虑到记住密码功能需要解密重新给登录表单,所以我这边用的是base64 的方法

console.log(Base64.encode('password')); // cGFzc3dvcmQ=
console.log(Base64.encode('123456789')); // MTIzNDU2Nzg5
console.log(Base64.decode('cGFzc3dvcmQ=')); // password
console.log(Base64.decode('MTIzNDU2Nzg5=')); // password

这样就基本ok了,记住密码的功能其实就是一个存取cookie的过程,这里就简单的说一下思路:
1.点击登录接口,调用登录接口,向后台提交登录信息,成功后,判断用户是否勾选记住密码,如果勾选,将账号,密码储存在cookie中,密码需要加密,即上面的加密方法,如果没勾选,向cookie中存入空的账号和密码字段。
2.在页面加载时从cookie中获取登录信息,判断是否存在,如果存在,需要先将密码解密,将其赋值给登录表单,并将记住密码选择框勾选。
这样记住密码功能就完成了,其实还有很多加密解密方法例如crypto,大体的使用方法都差不多(安装,引入使用)小伙伴们可以研究一下,互相交流。

========================== 更新 ==========================
附上MD5加密的使用方法(参考文章:https://blog.csdn.net/qq_35844177/article/details/70597597):

md5(''); // d41d8cd98f00b204e9800998ecf8427e
md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6
md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0

// It also supports UTF-8 encoding
md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07

// It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`
md5([]); // d41d8cd98f00b204e9800998ecf8427e
md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e

// Different output
md5(''); // d41d8cd98f00b204e9800998ecf8427e
md5.hex(''); // d41d8cd98f00b204e9800998ecf8427e
md5.array(''); // [212, 29, 140, 217, 143, 0, 178, 4, 233, 128, 9, 152, 236, 248, 66, 126]
md5.digest(''); // [212, 29, 140, 217, 143, 0, 178, 4, 233, 128, 9, 152, 236, 248, 66, 126]
md5.arrayBuffer(''); // ArrayBuffer
md5.buffer(''); // ArrayBuffer, deprecated, This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.
Logo

前往低代码交流专区

更多推荐