之前用到的是md5,但是最近发现有个新的加密方法AES,和后台沟通后,便拿来试了试。

首先在项目文件夹中创建AES.js,js代码如下:

// npm i crypto-js --save下载先,然后引包import CryptoJS from "crypto-js";export default {//随机生成指定数量的16进制keygeneratekey(num) {let library ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let key = "";for (var i = 0; i < num; i++) {let randomPoz = Math.floor(Math.random() * library.length);key += library.substring(randomPoz, randomPoz + 1);}return key;},//加密encrypt(word, keyStr) {keyStr = keyStr ? keyStr : "123456{saltZX}.."; //判断是否存在key,不存在就用定义好的keyvar key = CryptoJS.enc.Utf8.parse(keyStr);var srcs = CryptoJS.enc.Utf8.parse(word);var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return encrypted.toString();},//解密decrypt(word, keyStr) {keyStr = keyStr ? keyStr : "abcdsxyzhkj12345";var key = CryptoJS.enc.Utf8.parse(keyStr);var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return CryptoJS.enc.Utf8.stringify(decrypt).toString();}
};

然后在需要的页面引入AES.js文件:

import AES from "../../src/uitls/AES";

我这里是在登录时用到的,具体操作如下:

 // 用AES给密码加密const keys = AES.generatekey(16);//如果是对象/数组的话,需要先JSON.stringify转换成字符串,第二个值是加密的方式keyconst encrypts = AES.encrypt(that.loginForm.password,'123456{saltZX}..');let params = {username: that.loginForm.username,password: encrypts,};
// 到这里在用户提交登录的时候把params提交过去就好啦!

我们再来看看具体效果:

{

  1. password: "yktfmgc8jZ2OjmjHNvp75g=="
  2. username: "admin"

}

至此,搞定啦!!!

前端在登录时如何将用户密码加密相关推荐

  1. 登录时本地保存账号密码及关闭ARC的方法

    对于登录时保存用户名和密码,苹果官方使用的是KeychainItemWrapper,但使用时有些不便,如在引入KeychainItemWrapper的类中都要关闭arc,不能自定义key,必须使用该类 ...

  2. Edusoho修改注册的用户密码加密机制规则

    一.简介 1.修改生成$salt的机制规则. 2.修改生成$password的机制规则. 二.edusoho的默认用户密码加密机制规则 1.系统默认生成$salt的方式: edusoho\src\Bi ...

  3. 用户密码加密存储十问十答,一文说透密码安全存储

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 程序员赵鑫 来源 | cnblogs.com/xinzh ...

  4. [转]常见的用户密码加密方式以及破解方法

    [作者]张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发. 作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密 ...

  5. 新增用户-用户密码加密-无解密

    新增用户-用户密码加密 加密方式 需求 做法 加密方式 加密方式有多种,如1加密后可解密得到原文得.2加密后无解密方式,只能通过加密密文比对得.本文采取得就是第2种无解密方式加密 需求 springb ...

  6. 常见的用户密码加密及破解方法

    一.用户密码加密 用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?以下几种方式是常见的密码保存方式: ① 直接明文保存,比如用户设置的密码是"123456 ...

  7. php+$2y$10,PHP 用户密码加密函数password_hash

    PHP 用户密码加密函数password_hash PHP 用户密码加密函数password_hash 传统的用户名和密码都采用加盐的方式存储加密信息,盐值也需要存储. 自PHP5.5.0之后,新增加 ...

  8. C#中使用MD5对用户密码加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  9. 使用MD5对用户密码加密与解密

    MD5简介 : MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展 ...

最新文章

  1. 彻底理解HashMap及LinkedHashMap
  2. 正则表达式的常用方法和属性
  3. C# 生成 MongoDB 中的 ObjectId
  4. Asp.Net Core 中IdentityServer4 授权中心之应用实战
  5. asa 防火墙基本配置管理
  6. [C#] 谈谈异步编程async await
  7. poj 1655 Balancing Act(求树的重心)
  8. C编程语言中整型变量在内存中的存储形式介绍
  9. VC2005中将Picture控件显示图片保存为BMP,JPG等格式
  10. mellanox驱动安装
  11. ColorPix 简单好用的屏幕取色小工具
  12. 2021费控报销领域最具商业合作价值企业盘点
  13. 详解数字音频接口DAI
  14. Java的三大特性之封装、继承、多态-----最简理解
  15. 从视网膜到视皮层——视觉系统知多少
  16. Linux4.19-获取IDT地址
  17. margin-left是什么意思
  18. 计算机启动快到桌面时屏幕黑,电脑开机后桌面黑屏怎么回事
  19. bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...
  20. Catia启动界面图片修改

热门文章

  1. 模仿 Github设计一个博客网站的 API
  2. git commit message——git提交日志规范备忘
  3. linux挖矿的清理工具,Linux挖矿病毒的清除与分析
  4. 50位中外AI领袖论剑AI World,世界人工智能大会10大亮点全回顾
  5. 2022最新SCI影响因子TOP100榜单
  6. 竞价推广(SEM)是什么
  7. mysql查询周数_MySQL如何获取一个指定日期所对应本年度的周数(WEEK函数)呢?
  8. Codeforces 1359 C. Mixing Water (二分 /数学)
  9. linux timerfd系列函数学习笔记2 获取超时次数
  10. 河北滹沱河流域上演喜鹊戏金雕