使用正则表达式提高用户密码的复杂度和安全性

public class PassWordUtil {

    static String regex_number = "[\\p{Digit}]+";// 数字
    static String regex_lower = "[\\p{Lower}]+";// 正则表达式 密码:小写字母
    static String regex_upper = "[\\p{Upper}]+";// 大写字母
    static String regex_char = "[\\p{Punct}]+";// 标点符号  

    public static boolean matchesPass(String user_password){
        if(user_password==null){
            return false;
        }

        if(user_password.length()<8){
            return false;
        }

        if (user_password.matches(regex_number)
                || user_password.matches(regex_upper)
                || user_password.matches(regex_lower)
                || user_password.matches(regex_char)) {
            //return "注册失败,密码不符合要求,大写+小写+数字+字符(至少包含2种)";
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        String a="!!addd";
        System.out.println(matchesPass(a));
    }

}
时间: 2024-08-07 00:17:55

使用正则表达式提高用户密码的复杂度和安全性的相关文章

Linux用户密码策略

Linux用户密码的有效期,是否可以修改密码可以通过login.defs文件控制.对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可以使用chage命令. Linux用户密码的复杂度可以通过pam pam_cracklib module或pam_passwdqc module控制,两者不能同时使用. 个人感觉pam_passwdqc更好用. /etc/login.defs密码策略 PASS_MAX_DAYS   99999     #密码的最大有效期, 999

Linux是对用户的密码的复杂度要求设置【转】

那么Linux是如何实现对用户的密码的复杂度的检查的呢?其实系统对密码的控制是有两部分组成: 1 cracklib 2 /etc/login.defs pam_cracklib.so 才是控制密码复杂度的关键文件/lib/security/pam_cracklib.so, Redhat公司专门开发了cracklib这个安装包来判断密码的复杂度.如果你想查看pam_cracklib的一些参数,那么就使用下面命令 [[email protected] security]# man pam_crack

任意用户密码重置(五):重置凭证可暴破

在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区.我把日常渗透过程中遇到的案例作了漏洞成因分析,这次,关注因重置凭证可暴破导致的任意用户密码重置问题. 传送门: 任意用户密码重置(一):重置凭证泄漏 任意用户密码重置(二):重置凭证接收端可篡改 任意用户密码重置(三):用户混淆 任意用户密码重置(四):重置凭证未校验 密码找回需要鉴别用户的合法身份,证明你就是你,通常有两种做法,一是网

Windows用户密码清除

我们在使用Windows系统的时候,如果忘记了用户密码导致进不了系统怎么办?你说,当然是用软件把这个密码破解了,那么怎么个破解法呢? 下面我们演示一下在Win7系统中忘记了密码,怎样用软件将密码清除的方法. 首先,我们需要准备好清除密码的软件,把这个软件刻录到光盘或者U盘里.啊,你说,这么麻烦啊!其实我们只需要用U盘做个启动盘,或者直接使用ghost的安装光盘就可以了.至于怎样使用U盘做启动盘,请自行度娘吧. 在开机时,请调整启动顺序,笔记本一般按F2(台式按del)进入BIOS调整,也可以按F

Ubuntu 设置简单密码,复杂度太高

Ubuntu 中创建的用户密码复杂度很高,如果想设置1234 ,或者与账户名相同的密码时,SystemSetting 中是不可以设置的. 可以通过简单的命令来设置 其中 anyongfei 是账户名 sudo passwd anyongfei Ubuntu 设置简单密码,复杂度太高,布布扣,bubuko.com

陈松松:每月上传100个视频,如何分配,提高用户持续关注

这是我写的第84篇原创视频营销文章 陈松松,6年视频营销实战经验 有的人执行力确实强呀! 一天可以上传几百个视频! 一个人顶10个人! 但为什么很多人执行力非常强, 却得不到自己想要的结果, 就是因为方法不正确. 今天我们就分享一个特别重要的, 就是有关上传视频的问题. 虽然你掌握了视频上传的技巧, 但很多人忽视了一个重要的细节, 就是上传视频数量问题和上传视频时间问题. 我举个例子, 假设我们一个月上传100个视频, 大多数人基本上就会挑个时间, 在1-2天时间全部发完,然后就干别的事情了.

如何提高个人密码的安全级别

容易被破解的密码 这个不可以有 1.简单的密码.如果你在网络上注册过账号就会发觉你输入的同时就会显示安全性,弱中高.弱密码的典型标志就是简单,如重复和有序的顺序,444444.654321,键盘上排列,zxcvb等. 2.密码过短不可取.据数据统计,密码的长度直接和破解的时间成正比,最好的密码长度应该超过14个字符. 3.同密码不要有.不同的网银密码需要设置不同的密码,像支付宝和微信也一样哦,要不就一失全失了. 4.不要设置和个人资料相识度高的数据,比如你的英文名.生日等. 如何设置个人安全密码

【密码】Oracle用户密码系列

[密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 用户的9种状态含义(重点) ② 如何解锁账户 ③ 如何修改密码无效状态 ④ 如何获取密码的密文,如何利用密文修改用户的密码(重点) ⑤ 如何查询失败的登陆次数 ⑥ 11g 密码大小写问题 ⑦ 11g 密码延迟验证 ⑧ 密码复杂性校验 Tips: ① 本文在itpub(htt

Windows用户密码基础知识

1.Hash基本知识 在了解Windows用户密码之前,我们先认识一下Hash. Hash,我们称之为单向散列函数(也直接音译为哈希函数).它是把任意长度的输入,通过散列算法,变换成固定长度的输出的一个函数. 它具有以下几个特点: (1).算法本身是不可逆的,即可以由输入得到散列值,但是不可能从散列值中得到输入值. (2).不同的算法会得到不同长度的散列值,但使用同一个算法,无论输入的数据有多长,得到的散列值长度总是固定的. (3).不同的输入必然产生不同的散列值,两条相似的数据产生的散列值可能