作者:撒谎滴土豆 | 来源:互联网 | 2024-12-14 16:36
在互联网上活动频繁,难免会遇到各种网络安全问题。然而,通过学习和应用基本的安全知识,我们可以有效降低风险。其中,设置一个强效的密码是保护个人信息安全的第一步。本文将探讨如何创建一个既复杂又易于记忆的安全密码。
在数字世界中,一句广为流传的说法是:“网络无边界,安全需自卫”。为了确保在线活动的安全性,掌握一些基本的安全措施至关重要。首要任务之一便是创建一个强大的密码。那么,究竟怎样的密码才能称为‘强大’呢?通常来说,一个安全的密码应具备以下特征:
- 密码长度至少为8个字符,但不超过16个字符,以平衡记忆难度与安全性。
- 密码应包含至少三个不同类型的字符组合,这些类型包括大写字母(如A-Z)、小写字母(如a-z)、数字(如0-9)以及特殊符号(如~!@#$%^等)。
给定一个密码,我们的目标是评估其是否符合上述安全标准。
输入说明
输入数据的第一行是一个整数M,表示接下来有M行数据,每行代表一个待检测的密码(每个密码的长度最长可达50个字符)。密码仅由上述四种类型的字符构成。
输出说明
针对每一个提供的密码,程序需要判断该密码是否安全。如果密码符合安全标准,则输出“YES”,反之则输出“NO”。
示例输入
3
a1b2c3d4
Linle@ACM
^~^@^@!%
示例输出
NO
YES
NO
#include
#include
using namespace std;
// 定义字符范围
void evaluatePasswordStrength(string password) {
int characterTypes = 0;
bool hasUpper = false, hasLower = false, hasDigit = false, hasSpecial = false;
if (password.length() >= 8 && password.length() <= 16) {
for (char c : password) {
if (isupper(c)) hasUpper = true;
else if (islower(c)) hasLower = true;
else if (isdigit(c)) hasDigit = true;
else if (ispunct(c)) hasSpecial = true;
}
characterTypes += hasUpper + hasLower + hasDigit + hasSpecial;
}
if (characterTypes >= 3) cout <<"YES" < else cout <<"NO" <}
int main() {
int numberOfPasswords;
string password;
cin >> numberOfPasswords;
while (numberOfPasswords--) {
cin >> password;
evaluatePasswordStrength(password);
}
return 0;
}