[C#] 给你一个密码,你的任务就是判断它是不是一个安全的密码

网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件:

(1).密码长度大于等于8,且不要超过16。

(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。

这四个字符类别分别为:

1.大写字母:A,B,C...Z;

2.小写字母:a,b,c...z;

3.数字:0,1,2...9;

4.特殊符号:~,!,@,#,$,%,^;

给你一个密码,你的任务就是判断它是不是一个安全的密码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _判断一个密码是不是一个安全的密码
{
    class Program
    {
        static void Main(string[] args)
        {
            ini: Console.WriteLine("please enter your password!");
            //将输入的密码保存在变量中
            string input = Console.ReadLine();
            //创建可用密码字符库
            char[] uppercase = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'N', 'M', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
            char[] lowercase = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'n', 'm', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
            char[] number = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
            char[] symbol = { '~', '!', '@', '#', '$', '%', '^' };
            //声明一个变量来保存密码安全等级
            int safeLevel = 0;
            //判断密码长度是否在8位以上16位以下,是的话安全等级+1
            if (input.Length >= 8 && input.Length <= 16) {
                safeLevel += 1;
            }
            //判断密码是否含有大写字母,是的话安全等级+1
            for (int i = 0; i < input.Length; i++)
            {
                for (int j = 0; j < uppercase.Length; j++)
                {
                    if (input[i] == uppercase[j])
                    {
                        safeLevel += 1;
                        break;
                    }
                }
            }
            //判断密码是否含有小写字母,是的话安全等级+1
            for (int i = 0; i < input.Length; i++)
            {
                for (int j = 0; j < lowercase.Length; j++)
                {
                    if (input[i] == lowercase[j])
                    {
                        safeLevel += 1;
                        break;
                    }
                }
            }
            //判断密码是否含有特殊字符,是的话安全等级+1
            for (int i = 0; i < input.Length; i++)
            {
                for (int j = 0; j < symbol.Length; j++)
                {
                    if (input[i] == symbol[j])
                    {
                        safeLevel += 1;
                        break;
                    }
                }
            }
            //判断安全等级是否在3以上,并输出结果
            if (safeLevel >= 3)
            {
                Console.WriteLine("your password is SAFE!!!\n");
            }
            else {
                Console.WriteLine("your password is  UNSAFE!!!\n");
            }
            //传送到眼位,继续骚
            goto ini;

        }
    }
}

猜你喜欢

转载自blog.csdn.net/iFasWind/article/details/79484632