合理的密码强度正则表达式

2024-04-16

我们使用标准的 ASP.NET 身份验证提供程序(恰好是 AspNetSqlMembershipProvider),默认密码强度要求对于我们的需求来说有点过高。

我们要求用户输入至少由字母数字组成的密码(即,必须包含字母和至少一个数字,如果用户愿意,可以混合大小写和非字母数字字符)。

谁能建议什么密码强度正则表达式设置可以实现此目的?

另外,如果用户尝试使用的密码未通过正则表达式检查,我们如何控制向用户显示的错误消息?

Note

结果发现,minRequiredNonalphanumericCharacters属性必须设置为0,否则此设置将覆盖使用的任何正则表达式


我们刚刚实现了以下表达式来验证 8 到 16 个字符的密码,并包含以下 4 项中的三项:大写字母、小写字母、符号、数字

(?=^[^\s]{8,16}$)((?=.*?\d)(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\d)(?=.*?[^\w\d\s])(?=.*?[a-z])|(?=.*?[^\w\d\s])(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\d)(?=.*?[A-Z])(?=.*?[^\w\d\s]))^.*

各个组件的解释:

  • (?=^[^\s]{8,16}$) - 包含 8 到 16 个非空白字符
  • (?=.*?\d) - 包含 1 个数字
  • (?=.*?[A-Z]) - 包含 1 个大写字符
  • (?=.*?[a-z]) - 包含 1 个小写字符
  • (?=.*?[^\w\d\s]) - 包含 1 个符号

请注意长度段后面的双括号,稍后在表达式中您将看到几个 |。这允许对允许的 4 种可能的组合进行非此即彼的比较。

写完这篇文章后,我才注意到这个问题是一年多前提出的。由于我在搜索中遇到了这个问题,我希望其他人也可以从我们的解决方案中受益。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合理的密码强度正则表达式 的相关文章

  • 如何在自定义服务器控件asp中使用.resx和.resource文件?

    我正在编写自己的服务器端控件 并且使用存储在 resx文件 在控制台应用程序中 此代码运行良好 ResXResourceReader rsxr new ResXResourceReader Resource1 resx foreach Di
  • ASP.NET:获取*真实*原始 URL

    在ASP NET中 有什么办法可以得到real原始网址 例如 如果用户浏览到 http example com mypage aspx 2F http example com mypage aspx 2F 我希望能够得到 http exam
  • 如何将 MVC 5 IdentityModels.cs 移动到单独的程序集中

    我想知道是否有人遇到了我在尝试搬家时遇到的问题ApplicationUser进入模型项目 所有其他模型都驻留在其中 包括与用户表相关的模型 我的测试 MVC 5 解决方案由一个 Web 项目和两个类库组成 一个用于数据访问层 DAL 另一个
  • 数据库中的编码 HTML 返回页面

    我在数据库中有以下编码 lt p gt Content lt span style quot color ffffff quot gt lt span style quot background color ff0000 quot gt 1
  • 阅读器关闭时调用元数据的尝试无效?

    我正在数据读取器上运行 if else 语句来查询表数据并激活 取消激活页面上的某些控件 我实现了一个 using 语句来在关闭块时自动关闭连接和阅读器 但我仍然在每个 if else 语句上收到阅读器已关闭错误 少了什么东西 代码如下 s
  • 对登录 Instagram 的 PhantomJS 代码进行故障排除

    我编写了这个 PhantomJS 脚本来自动登录 Instagram 它可以成功填写表单字段并按提交按钮 但它总是被重定向回登录屏幕并显示以下消息 你的用户名或密码不正确 我 100 确信凭据是正确的 并且我用多个 Instagram 帐户
  • ASP.NET 服务器端或客户端的验证控件?

    ASP NET 中的验证控件在服务器端和客户端都有效吗 或者它仅用于客户端验证 Thanks ASP NET 验证控件执行这两项操作client side and server side验证 EnableClientValidation是财
  • 访问 ASP.NET 中 App_Code 中未声明的类

    我有时定义业务逻辑类来 帮助 我的 ASPX 代码隐藏类 对我来说 将它们都包含在代码隐藏文件中是最有意义的 因为它们一起工作 但是 我偶尔想从 App Code 中定义的更高级别的类访问业务逻辑类 但它们不能在文件外部自动访问 因此 问题
  • 使用 Regex/C# 将 转换为

    奇怪的问题 但我不会浪费时间解释为什么我需要这样做 只是我需要这样做 我有以下内容
  • 是否可以使用 Flutter / Dart 创建受密码保护的 ZIP 文件?

    我想创建一个受密码保护的 ZIP 文件 以前有人这样做过吗 你能给我一些建议吗 我在 pub dev 上找不到合理的包 Plugin archive https pub dev packages archive https pub dev
  • ASP.NET 中的大数组支持

    最近有了 4 5 NET 支持 用户可以为一个对象分配超过 2 GB 的内存 为了做到这一点 用户可以在 app config 文件中将 gcAllowVeryLargeObjects 设置为 true 一切都会正常工作 但是我很难找到 A
  • Bash 脚本 Mysql 警告:在命令行界面上使用密码可能不安全

    你好 我有一个脚本来对一些 mysql 数据库进行分区 我们正在从 5 5 升级到 5 6 在测试脚本时 我注意到新的 5 6 版本 mysql 返回Warning Using a password on the command line
  • 在 PHP MySQL 中使用 jQuery AJAX 提交表单而无需重新加载

    我有一个基本的注册 登录页面 它使用 php 将数据提交到 SQL 数据库 但是 我希望页面在 jQuery AJAX 的帮助下不要在提交时重定向 无论成功与否 这是我目前所拥有的 但不起作用 它不显示任何错误消息 HTML 注册 html
  • 列出所有会话信息

    我想在页面中显示我的asp net页面 aspx 的所有会话信息 我怎样才能做到这一点 编程语言是C 这两种方法对我有用 稍微改进和纠正了大卫的答案 第一种方法 for int i 0 i lt Session Count i var cr
  • 有没有办法忽略 ASP.NET Core 中 HTTP 日志记录中的 swagger 响应?

    我有一个使用 net 7 创建的 asp net Web api 我启用了http 日志记录 https learn microsoft com en us aspnet core fundamentals http logging vie
  • Laravel 5.5 多重身份验证路由问题

    尝试使用 Doctrine 而不是 Eloquent 让 Laravel 进行多重身份验证 我已经尝试了很多事情 但总是陷入困境 我目前定义了两个守卫 两个模型 两个登录控制器等 如果我启用其中之一 它们就会起作用 如果我同时尝试两者 则似
  • DELETE 语句与 ASP.NET 动态数据中的 REFERENCE 约束冲突

    我有两个表 Application User 和 Application User Access Application User Access 表与 Application User 表具有外键约束 当我删除 Application Us
  • 发送到带有联系表格 asp.net 的电子邮件

    我如何使用 ASP NET 中的联系表单向指定的电子邮件地址发送电子邮件 该网站通过托管公司托管 谢谢 MailMessage mail new MailMessage SmtpClient SmtpServer new SmtpClien
  • 回发后我的 JavaScript 函数在 ASP.NET 中不起作用

    我有共同的功能 我把它折叠起来CommonFunctions js在脚本文件夹中 我将它包含在我的主页上并在我的页面上使用它 当我在页面上进行任何回发时 我的功能不起作用 My CommonFunctions js function gf
  • 使用 UpdatePanel 的 ASP.NET AJAX

    从概念上讲 我对 AJAX 的理解是异步发送到服务器的请求 也称为并行 当我使用多个UpdatePanels在页面上并触发多个异步回发 例如通过使用按钮 我注意到第二个请求在第一个请求完成之前才开始 但是当我使用 JQuery ajax 并

随机推荐

  • 可安装发动机安装在什么路径上

    我需要从可安装引擎的布局内部知道它当前安装在什么路径上 该怎么做呢 例如 我的routes rb 包含以下行 mount BackendCore Engine gt backend 从 BackendCore 内部 我需要访问 backen
  • BLL和DAL之间的通信

    解决方案设置 DAL 类库 BLL 类库 常见 类库 一些常见功能 枚举 日志记录 异常等 应用程序 1 Windows 应用程序 应用程序2 Windows应用程序 WebApp 网络应用程序 假设我有一个Customer实体 即 SQL
  • 在 R 中生成可能排列的随机、非重复子集

    Given p离散变量 我想随机选择 k他们可能的排列 换句话说 对于变量a in 0 1 and b in 1 2 3 两个随机排列将是 0 2 and 1 3 我想在不首先生成所有可能排列的表的情况下生成这些变量 因为随着变量数量及其可
  • 将以毫秒为单位的日期时间转换为双精度或整数?

    我有一个看起来不错的字符串 如下所示 TimeString 2011 01 02 22 06 52 091 现在我想将其转换为双精度数 并将其保存为双精度数 我是用c 做的 我该怎么做呢 网上实在找不到答案 Edit 时间是一种金融货币报价
  • Google Analytics“用户计数”与大查询“用户计数”不匹配

    我们的 Google Analytics 用户计数 与我们的大查询 用户计数 不匹配 我计算得正确吗 通常 GA 和 BQ 非常接近 尽管不完全一致 最近 GA 与 BQ 中的用户数并不一致 我们的 每个用户的会话数 通常非常正常分配 在过
  • 如何编写自定义操作 DLL 以在 MSI 中使用?

    这是我打算自己回答的问题 但请随意添加其他方法来完成此任务 我正在打包一个应用程序以用于各种配置 并且我确定在 MSI 中执行自定义逻辑的最可靠方法是编写我自己的自定义操作 DLL 该 DLL 能够从 PROPERTY 表中读取 写入 终止
  • 在 Monogame 中使用 BMP 图像作为字体

    有没有办法使用 BMP 图像加载自定义字体 我在网上看到了 Microsoft 提供的解决方案 但在尝试运行此解决方案时 我不断收到内容加载异常 看起来这曾经适用于 XNA 但对于 Monogame 可能不再是这样了 我想要自己的自定义字体
  • Git:推送到多个远程

    Short 如果您将多个远程存储库链接到本地 文件 是否有一种方法可以同时推送到它们 Long 由于工作原因 我的代码必须使用gitlab和github遥控器 因此 一旦我进行了一些本地更改 我就想更新这两个存储库 我的 git confi
  • 重新渲染子视图后,主干事件会多次触发

    我们有一个由侧边栏和几个子视图组成的主干视图 为简单起见 我们决定让侧边栏和子视图由单个视图管理render功能 但是 那click edit单击侧边栏项目之一后 事件似乎会多次触发 例如 如果我从 常规 开始并单击 edit then h
  • Vim: set langmap=e;h 破坏 supertab 插件

    我是 Vim 新手 正在尝试设置一些插件 到目前为止我已经安装了 Pathogen pyflakes 和 supertab 后者似乎不起作用 紧迫tab而在插入模式下只需写入字符串
  • 如何从 UWP(又名 .NET Core)中的 Type 对象获取 Assembly

    Type 类在 NET Framework 中有一个Assembly 属性 然而 当您编写使用 NET Core 的 UWP 时 此属性就消失了 仅 AssemblyQualifiedName 属性可用 我怎样才能从这个名字进入Assemb
  • R:如何用文本框注释 ggplot?

    我希望添加一个小的白色文本框 并在 ggplot 绘图的正文中添加自定义文本 我要添加的文本是为了标识我要添加到绘图中的水平线 ggplot cb emp geom point aes x grossunits y rate color a
  • 在 StringTokenizer 中使用多个分隔符

    我想知道如何在 java 中使用 StringTokenizer 的多个分隔符 例如其中之一 将作为分隔符出现 而且一次只会有一个 Use the 有两个参数的构造函数 http docs oracle com javase 6 docs
  • r - 如何清除 rJava 使用的内存?

    我正在使用 xlsx 包创建工作簿 工作表 将数据写入工作表 然后保存工作簿 然而 当我多次重复这组操作时 我开始出现错误消息 gt Error in jcheck silent FALSE java lang OutOfMemoryErr
  • DbSet、模型构建器和 EF 导航属性

    我正在尝试实现一个多租户应用程序 在其中通过租户对象查询数据库 而不是直接从上下文中查询 在我拥有这个之前 public User GetUserByEmail string email using var db CreateContext
  • 为子域设置了 Cookie,但 IE 开发工具在根域显示 Cookie。我缺少什么?

    我们有许多网站挂在根域上 例如 dev mydomain co nz test mydomain co nz www mydomain co nz 我使用 Fiddler 监控与 dev mydomain co nz 的连接 并收到一个带有
  • Eclipse:无法加载 JNI 共享库“C:\Program Files(x86)\Java\jdk1.7.0_15\bin\..\jre\bin\client\jvm.dll

    我正在尝试安装 Eclipse 为了安装我已经完成了以下操作 安装JDK 7u15 64位 实际下载名称 jdk 7u15 windows i586 exe 在C Program Files x86 Java JDK 1 7 0 15 我在
  • 使用 Python 可视化 LDA 模型

    我有一个 LDA 模型 包含 10K 文档中 10 个最常见的主题 现在它只是对每个主题的单词及其相应概率分布的概述 我想知道 python 是否有可用的东西来可视化这些主题 pyLDAvis https pypi python org p
  • cudaMallocManaged() 返回“不支持的操作”

    在 CUDA 6 0 中尝试托管内存给了我operation not supported打电话时cudaMallocManaged include cuda runtime h include
  • 合理的密码强度正则表达式

    我们使用标准的 ASP NET 身份验证提供程序 恰好是 AspNetSqlMembershipProvider 默认密码强度要求对于我们的需求来说有点过高 我们要求用户输入至少由字母数字组成的密码 即 必须包含字母和至少一个数字 如果用户