检查密码复杂度的C#正则表达式

原文:检查密码复杂度的C#正则表达式

在用户注册与修改、重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一。

而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字、小写或大写字母、特殊字符、字符数在8-30之间,对应的正则表达式如下:

var regex = new Regex(@"
(?=.*[0-9])                     #必须包含数字
(?=.*[a-zA-Z])                  #必须包含小写或大写字母
(?=([\x21-\x7e]+)[^a-zA-Z0-9])  #必须包含特殊符号
.{8,30}                         #至少8个字符,最多30个字符
", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

如果要求必须包含小写、大写字母,则上面的 (?=.*[a-zA-Z]) 要改为:

(?=.*[a-z])
(?=.*[A-Z])

相关博问:匹配键盘上所有特殊字符的正则表达式如何写

时间: 2024-10-13 04:36:41

检查密码复杂度的C#正则表达式的相关文章

[转] 检查密码复杂度的 C# 正则表达式

在用户注册与修改.重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一. 而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字.小写或大写字母.特殊字符.字符数在 8-30 之间,对应的正则表达式如下: var regex = new Regex(@" (?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{8,30} #至少8个字符,最多30

js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码

直接上代码 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

密码复杂度检查函数

密码复杂度检测.py 1 import re 2 ''' 3 接口调用示例: 4 import 密码复杂度检测 as pc 5 6 while True: 7 str1 = input("请输入密码> ").strip() 8 if pc.check_password_complexity(str1,2): 9 print("%s复杂度符合要求"%str1) 10 break 11 12 13 密码复杂度检查,包括两种复杂度检查, 14 level=1时, 1

python中用正则表达式检查密码是否安全

目的:通过正则表达式检查密码是否强大,这个方法在需要注册网页上应该很常用. 环境:ubuntu 16.04  python3.5 思路:需要多个正则表达式,依次检查输入的密码是否符合要求,可以if或者for配合. import re # 密码至少8位数 rule_1 = re.compile(r'\w{8,}') # 密码同时包含大小写字母 rule_2 = re.compile(r'([a-z].*[A-Z])|([A-Z].*[a-z])') # 密码至少有一位数字 rule_3 = re.

Javascript校验密码复杂度的正则表达式

1.密码中必须包含大小字母.数字.特称字符,至少8个字符,最多30个字符. var regex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}'); if (!regex.test('[email protected]')) { alert("您的密码复杂度太低(密码中必须包含字母.数字.特殊字符),请及时改密码!"); } 2.密码中必须包含字母.数字.特称字符,至少8个字符,最多30个

Linux下pam密码复杂度限制

linux系统是如何实现对用户的密码的复杂度的检查的呢?系统对密码的控制是有两部分组成:1 cracklib2 /etc/login.defs pam_cracklib.so 才是控制密码复杂度的关键文件/lib/security/pam_cracklib.soredhat公司专门开发了cracklib这个安装包来判断密码的复杂度 # rpm -qa | grep cracklibcracklib-2.8.9-3.1 \\检查软件是否安装cracklib-dicts-2.8.9-3.1 \\密码

Linux 密码复杂度

我们在使用linux系统设置密码的时候,经常遇到这样的问题,系统提示:您的密码太简单,或者您的密码是字典的一部分.那么系统是如何实现对用户的密码的复杂度的检查的呢? 系统对密码的控制是有两部分(我知道的)组成: 1 cracklib 2 login.defs 声明:login.defs主要是控制密码的有效期.对密码进行时间管理.此处不细谈. login.defs --shadow password suite configuration pam_cracklib.so 才是控制密码复杂度的关键文

linux加固安全之密码复杂度

随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. 密码策略的2个基本 一个密码最长使用期限,另一个是密码复杂度:这两个分别是/etc/login.defs 和/etc/pam.d/system-auth来控制. 1. vi /etc/login.defs PASS_MAX_DAYS 90 #密码最长使用期限 PASS_MIN_DAYS 5 #密码最

提高sevenzipsharp 检查密码的速度(1)

前言:sevenzipsharp检查密码(包括检查压缩包的有效性)的函数是SevenZipExtractor.check(), sevenzipsharp调用的是7zip的动态链接库,而且不止是7zip,其它压缩软件测试密码这个功能耗时也很久(压缩包小可以忽略,密码错误的时候速度还行,密码正确的话,会把压缩包全部解压,耗时相当于解压一个文件的时间),除了360压缩比较快,至少快几百倍,但是找不到调用的方法,如果谁有更好的解决方案,麻烦提供一下. 原来的check方法4G大小的文件大概耗时 错误的