首页 > 其他分享 >前端实现输入内容计算密码强度

前端实现输入内容计算密码强度

时间:2024-06-05 18:28:59浏览次数:20  
标签:分数 动画 前端 密码 宽度 计算 强度 输入

提示:记录工作中遇到的需求及解决办法

文章目录


前言

平时我们在浏览各种网站和 APP 的时候,都接触过密码这个东西~

密码设置的好不好,关乎到你的账号安全性,越复杂的密码越安全,所以密码强度很重要,而我们在做注册功能的时候,也有责任去帮协助用户设置一个高密码强度的密码~

那么密码强度怎么计算呢? 且应该如何实现以下这样的密码强度动画展示效果呢?

在这里插入图片描述


一、思路

其实思路很简单:

  1. 监听密码输入框的变化
  2. 密码变化时,获取密码文本,并通过某种方式计算这个密码的强度分数
  3. 根据强度分数,改变下方块的颜色和宽度
    0分:强度低,红色,宽度 20%
    2) 1分:强度低,红色,宽度 40%
    3) 2分:强度中,橙色,宽度 60%
    4) 3分:强度高,绿色,宽度 80%
    5) 4分:强度高,绿色,宽度 100%
    在这里插入图片描述

二、计算密码强度分数

用什么方式去计算密码强度方式呢?我们可以用 @zxcvbn-ts/core这个库来计算~

@zxcvbn-ts/core 是 zxcvbn 密码强度估计器的 TypeScript 实现版本,用于帮助开发者评估用户设置密码的复杂度和安全性,计算的依据有:

  1. 密码长度: 越长分数越高
  2. 字符类型: 数字、字母、符号
  3. 词典攻击检测: 内置词典列表,检测密码强度
  4. 评分系统: 0-4分,分数越高越安全
  5. 熵计算: 评测密码所需尝试次数,熵越高,分数越高
pnpm i @zxcvbn-ts/core

在这里插入图片描述

密码强度动画展示效果

计算了分数之后,我们需要根据分数去展示

1. 不同的颜色
2. 不同的宽度

我们可以使用属性选择器的方式,去完成这一个效果,看以下代码~

在这里插入图片描述

当密码改变的时候,会实时计算密码强度分数,这也就是意味着 data-score 这个属性会一直变,接着我们可以在样式中,去根据属性选择器去设置不同的颜色和宽度

在这里插入图片描述

现在可以看到这样的效果

在这里插入图片描述

完善动画效果

在这里插入图片描述

现在可以达到我们期望的效果~

在这里插入图片描述

完整代码

<template>
  <Input.Password v-model:value="password"

标签:分数,动画,前端,密码,宽度,计算,强度,输入
From: https://blog.csdn.net/qq_45532769/article/details/139478234

相关文章

  • Python中将输入字符格式化输出(format函数)
    --------要求--------键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为30个字符,星号字符*填充,居中对齐。如果输入字符串超过30位,则全部输出。例如:键盘输入字符串s为"Congratulations",屏幕输出*******Congratulations********--------脚本示例--------s=input("请......
  • 前端怎么解决跨域问题
    前端跨域问题的解决方案通常涉及几种不同的方法,每种方法都有其特定的应用场景和优缺点。以下是一些常见的前端跨域解决方案:JSONP(JSONwithPadding)原理:利用<script>标签没有跨域限制的特性,通过动态创建<script>标签并设置其src属性为跨域请求的URL,来实现跨域数据获取。实现方......
  • 2024流行的前端框架
     随着技术的进步,一些前端框架的设计是为了让开发人员获得最高的效率。所有框架都有其独特的功能,使得开发人员很难选择一个。由于每个企业都有不同的需求和目标,因此其网站和应用程序的开发也应根据其需求和梦想进行管理。市场上最好的前端框架一直存在争议。然而,最近的......
  • 【JS】JavaScript编程语言-谷歌浏览器调试之前端代码(2024-06-05)
    1、在浏览器中调试调试是指在一个脚本中找出并修复错误的过程。所有的现代浏览器和大多数其他环境都支持调试工具——开发者工具中的一个令调试更加容易的特殊用户界面。它也可以让我们一步步地跟踪代码以查看当前实际运行情况。在这里我们将会使用Chrome(谷歌浏览器)。2......
  • uniapp 2.0可视化开发工具:引领前端开发新潮流
    引言在移动互联网时代,跨平台应用开发成为前端开发者面临的重要挑战。uniapp作为一款优秀的跨平台应用框架,以其强大的功能和易用性赢得了广大开发者的青睐。特别是uniapp2.0版本的发布,伴随着可视化开发工具的出现,更是为前端开发带来了革命性的变革。本文将深入探讨uniapp2.0......
  • 项目整合管理主要输入、工具、输出
    一、制定项目章程:编写一份正式批准并授权项目经理使用组织资源、进行项目规划、执行和控制的文件。作用:1.明确项目与组织战略目标间的直接联系2.确立项目的正式地位3.展示组织对项目的承诺1.1输入:1.立项管理文件:业务视角描述必要性,决定是否值得投资,包括商业需求和成本效益......
  • Web前端 函数
    函数函数是一段可以反复调用的代码块函数的声明function命令:function命令声明的代码区块,就是一个函数。function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。functionprint(s){ console.logs(s);}函数名的提升JavaScr......
  • 前端处理流式数据(SSE服务)
    前言将数据用流的方式返回给客户端,这种技术需求在传统的管理项目中不多见,但是在媒体或者有实时消息等功能上就会用到,这个知识点对于前端还是很重要的。即时你不写服务端,但是服务端如果给你这样的接口,你也得知道怎么去使用联调。nodejs实现简单的SSE服务SSE服务(Server......
  • Vue 前端页面利用MediaRecorder实现音频录制
    Don'tTalk,codeishere:重点是startRecord方法<template><div><el-tooltipclass="item"effect="dark"content="再次点击【开始录音】即为重新录制,之前录制的将被作废"placement="top"><el-button:disabled=......
  • 【技巧】JS代码这么写,前端小姐姐都会爱上你
    前言......