如何在c#中验证用户名和密码?
本文关键字:密码 用户 验证 | 更新日期: 2023-09-27 18:04:37
我试图写一些简单的c#代码,将验证用户名和密码,用户名和密码都已经在代码本身。此外,验证来自简单的用户名和密码—而不是来自任何sql数据库。
如果验证是正确的,我想打印(输出)- '正确的识别',如果用户名和/或密码是错误的,但我想输出- '错误的识别'。
我的问题(由crashmstr发布)我如何检查用户输入了硬编码的用户名和密码。这导致- OP似乎不知道如何检查。
为什么我的代码输出"正确识别",不管输入是什么?
string username = "Pinocchio";
string password = "Disney";
Console.WriteLine("Enter Username: ");
char answer = console.ReadLine()[0];
Console.WriteLine("Enter Password: ");
char answer2 = console.ReadLine()[1];
if (!(username == "Pinocchio" && password == "Disney")) {
Console.WriteLine("Correct Identification");
}
else
{
Console.WriteLine("Wrong Identification");
}
}
}
}
我有这个工作…我还可以稍后再添加一些代码。
string password = "hello";
string username = "how";
if(Console.ReadLine() == password && Console.ReadLine() == username)
{
Console.WriteLine("Correct Identification");
}
else
{
Console.WriteLine("Wrong Identification");
}
让我们来分析一下你的表达。
:
(username == "Pinocchio" && password == "Disney")
产生true
,因为两个字符串匹配。
然后在它前面放一个!
:
(!(username == "Pinocchio" && password == "Disney"))
得到!true
,即false
。因此用户名和密码被认为是错误的。
刚刚删除了!
:
(username == "Pinocchio" && password == "Disney")
我想你需要这样的东西:
Console.WriteLine("Enter User name: ");
string enteredUsername = console.ReadLine();
Console.WriteLine("Enter Password: ");
string enteredPassword = console.ReadLine();
if (username == enteredUsername && password == enteredPassword)
{ ... }