找回密码
 加入
搜索
查看: 719|回复: 1

[AU3基础] 密码和正则的问题

[复制链接]
发表于 2022-9-20 15:55:05 | 显示全部楼层 |阅读模式
本帖最后由 holley 于 2022-9-20 17:25 编辑

这两天又开始复习正则入门基础知识,刚好遇到某论坛的一个压缩包解密问题

目前已知压缩包密码规则:1个大写字母、1个小写字母、1个空格、3个数字 共6位
解决思路:1、通过正则生成相应密码字典;2、通过解密工具字典破解;
遇到的问题:
1、现在初步写出的正则为:
(?=.*?[A-Z])(?=(.*?[a-z]))(?=(.*?[\d]))(?=(.*?[\s]))[\da-zA-Z\s]{6}
但自己做样例密码的时候,发现这个表达式没有完全有效匹配
如:
a A123
123a A
123A a
123 aA
123 Aa
1 23aA
12 a3A
1 23Aa
a1 32A
3333aA
43243a
43iid 
4 2JaD
55aa c
DD43 d
   444
ccd233
C7WkJv
yO4xF3
其中4 2JaD和DD43 d两个明显不合的密码也匹配上了。
想请教:有没有更适合的正则表达式?
刚发完帖子,发现表达式改成这样好像可以了:
(?=(.*?[A-Z]){1})(?=(.*?[a-z]){1})(?=(.*?[\d]){3})(?=(.*? ){1})[\da-zA-Z\s]{6}
求更优解?
新加了2个样例密码,发现我的表达式还是会错误匹配
2、大家有没有比较适合此案例的字典生成工具?我试了下pydictor,发现没办法完全实现我的要求,也非常有可能是我还不会用。


发表于 2022-9-20 16:33:31 | 显示全部楼层
(?m)^((?=.*[A-Z])(?=.*[a-z])(?=.*\h)(?=.*\d.*\d.*\d)[\da-zA-Z\h]{6})(?=\v|$)

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
lixiaolong + 20 + 2 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 10:55 , Processed in 0.074505 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表