MC0248 密码判断器(判断强弱密码)

2024-03-27 19:04
文章标签 判断 密码 强弱 mc0248

本文主要是介绍MC0248 密码判断器(判断强弱密码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题链接<----

islower 小写字母判断
isupper 大写字母判断
isdigit 数字判断

题目:
小码哥在是一位密码领域的初学者,有一天他的老师给他了一串密码,要他判断这个密码是否是强密码,老师和他说强密码就是需要同时达到以下要求:
1.密码长度大于6。
2.密码中同时包括了大小写字母和数字。
3.并且数字和数字之间不能相连。

样例1
输入:
They12wwweqwe

输出:
False

样例 2
输入:
They1wwweqwe

输出:
True

#include <iostream>
#include <algorithm>
#include <cstring>
#include <string.h>
using namespace std;bool cmp(string x)
{return x.size()>6;
}bool cmp1(string x) //判断是否存在小写字母
{for(char it:x){if(islower(it)){return true;}}return false;	
}bool cmp2(string x) //是否存在大写字母
{for(char it:x){if(isupper(it)){return true;}}return false;	
}bool cmp3(string x) //判断是否存在数字
{for(char it:x){if(isdigit(it)){return true;}}return false;	
}bool cmp4(string x) //判断数字之间是否相连
{for(int i=0;i<x.size()-1;i++){if(isdigit(x[i]) && isdigit(x[i+1])){return false;}}	return true;
}int main()
{string str; getline(cin,str);if(cmp(str) && cmp1(str) && cmp2(str) && cmp3(str) &&cmp4(str)){printf("True\n");}else{printf("False\n");}return 0;
}

运行结果:
在这里插入图片描述

AI:

#include <iostream>  
#include <string>  
#include <cctype>  bool isLongEnough(const std::string& password) {  return password.length() > 6;  
}  bool hasLowerCase(const std::string& password) {  for (char c : password) {  if (std::islower(c)) {  return true;  }  }  return false;  
}  bool hasUpperCase(const std::string& password) {  for (char c : password) {  if (std::isupper(c)) {  return true;  }  }  return false;  
}  bool hasDigits(const std::string& password) {  for (char c : password) {  if (std::isdigit(c)) {  return true;  }  }  return false;  
}  bool hasConsecutiveDigits(const std::string& password) {  for (size_t i = 0; i < password.length() - 1; ++i) {  if (std::isdigit(password[i]) && std::isdigit(password[i + 1])) {  return true;  }  }  return false;  
}  bool isStrongPassword(const std::string& password) {  return isLongEnough(password) &&  hasLowerCase(password) &&  hasUpperCase(password) &&  hasDigits(password) &&  !hasConsecutiveDigits(password);  
}  int main() {  std::string password;  std::cout << "请输入密码: ";  std::cin >> password;  if (isStrongPassword(password)) {  std::cout << "这是一个强密码。" << std::endl;  } else {  std::cout << "这不是一个强密码。" << std::endl;  }  return 0;  
}

这篇关于MC0248 密码判断器(判断强弱密码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853081

相关文章

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for