美文网首页
PIPI:1002: 安全密码(Java)

PIPI:1002: 安全密码(Java)

作者: 天降小纸箱 | 来源:发表于2021-01-15 20:31 被阅读0次

题目描述: 1002: 安全密码
网络上各类交易活动越来越普及,为了能够安安心心地上网,经常需要设置一个安全的密码。一般来说一个比较安全的密码至少应该满足下面两个条件:
(1)密码长度大于等于8。
(2)密码中的字符应该来自下面“字符类别”中四组中的至少三组。

这四个字符类别分别为:
(1)大写字母:A,B,C...Z;
(2)小写字母:a,b,c...z;
(3)数字:0,1,2...9;
(4)特殊符号:~,!,@,#,$,%,^;
给你一个密码,你的任务就是判断它是不是一个安全的密码。

image.png

实现思路:依次判断每个字符的类型

实现代码

public class SecurityPassword {

    public static void main(String[] args) {
        Scanner inScanner = new Scanner(System.in);
        while (inScanner.hasNext()) {
            String passwordString = inScanner.nextLine();
            if (isSecurity(passwordString)) {
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }

    }

    public static boolean isSecurity(String password) {
        if (password.length() < 8) return false;
        int upLetter = 0, lowLetter = 0, digit = 0, specialLetter = 0; // 大写字母,小写字母,数字,特殊字符
        for (int i = 0; i < password.length(); i++) {
            if (Character.isDigit(password.charAt(i))) {
                digit++;
            } else if (password.charAt(i) >= 'A' && password.charAt(i) <= 'Z') {
                upLetter++; // 大写字母
            } else if (password.charAt(i) >= 'a' && password.charAt(i) <= 'z') {
                lowLetter++;
            } else {
                specialLetter++;
            }
        }
        int security = 0;
        if (digit > 0) security++;
        if (lowLetter > 0) security++;
        if (upLetter > 0) security++;
        if (specialLetter > 0) security++;
        return security > 2;
    }

}

相关文章

  • PIPI:1002: 安全密码(Java)

    题目描述: 1002: 安全密码[http://www.pipioj.online/problem.php?id=...

  • Java JCE Cipher 详解

    本文是对 Java 语言安全模块 JCE( Java Cryptography Extension,Java 密码...

  • 中南大学计算机复试题目

    2013年计算机复试题 1001 水仙花数 1002:安全密码 网络上各类交易活动越来越普及,为了能够安安心心地上...

  • Java密码安全框架

    Java密码 参考 Java加解密艺术这本书进行整理如下 对称加密 symmetric AesCbcUtils A...

  • shiro

    Apache Shiro -- Java安全框架执行身份验证, 授权, 密码学和会话管理 1, Authentic...

  • 常见红队RCE漏洞利用小结

    Shiro: Apache Shiro是常见的Java安全框架,执行身份验证、授权、密码和会话管理。 历史维度: ...

  • 1002_Java

    Input输入的格式是,第一行是一个正整数,指定电话号码薄中号码的数量(最多100000)。余下的每行是一个电话号...

  • Java加密体系结构(JCA)参考指南

    JCA简介 Java平台强调安全性,包括语言安全性、密码学、公钥基础设施、身份验证、安全通信和访问控制。JCA是j...

  • shiro反序列化漏洞利用

    前言 Apache Shiro 是企业常见的Java安全框架,执行身份验证、授权、密码和会话管理。2016年,曝光...

  • 反序列化漏洞原理详解

    Apache shiro简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码...

网友评论

      本文标题:PIPI:1002: 安全密码(Java)

      本文链接:https://www.haomeiwen.com/subject/jlwbaktx.html