vue项目记住密码以及加密解密

最近在做的项目(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(); // 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.
经验分享 程序员 微信小程序 职场和发展