2016-08-29 4 views
-2

ユーザー名とパスワードを検証する簡単なC#コードを記述しようとしていますが、ユーザー名とパスワードはすでにコード自体に入っています。さらに、検証は簡単なユーザー名とパスワードからであり、SQLデータベースからではありません。C#のユーザー名とパスワードの検証方法を教えてください。

妥当性確認が正しい場合は、ユーザー名やパスワードが間違っている場合は「正しい識別」を出力したいと思いますが、「間違った識別」を出力したいと思います。

私の質問(crashmstrが投稿したように)ユーザーがハードコードされたユーザー名とパスワードを入力したことを確認するにはどうすればいいですか?どちらにつながるのか - OPはそれをチェックする方法を知らないようです。

入力に関係なく、コードが「正しい識別情報」を出力するのはなぜですか?

私はこれを動作させています...そして、私はいつも少し後でコードを追加することができます。

string password = "hello"; 
string username = "how"; 

if(Console.ReadLine() == password && Console.ReadLine() == username) 
{ 
    Console.WriteLine("Correct Identification"); 
} 
else 
{ 
    Console.WriteLine("Wrong Identification"); 
} 
+0

ので、正確にあなたの質問は何です:私はあなたを推測

(username == "Pinocchio" && password == "Disney") 

このようなものが必要:

ちょうど!を削除しましたか?ヒント:決してパスワードを平文とハードコードで保存しないでください –

+0

[文字列を比較するためにifを使用する]の重複が考えられます(http://stackoverflow.com/questions/23025705/using-if-to-compare-strings-c-sharp) – Igor

+2

あなたはあなたの 'if'で' answer'や 'answer2'を使用しません。あなた自身でそれらの値を設定するので、真のパスを得るでしょう。 – crashmstr

答えて

2

あなたの表現を分解しましょう。

この:両方の文字列が一致するので

(username == "Pinocchio" && password == "Disney") 

trueが得られます。

その後、あなたはそれの前に!を置く:

(!(username == "Pinocchio" && password == "Disney")) 

falseである、!trueを作ること。したがって、ユーザー名とパスワードは間違っているとみなされます。

Console.WriteLine("Enter User name: "); 
string enteredUsername = console.ReadLine(); 

Console.WriteLine("Enter Password: "); 
string enteredPassword = console.ReadLine(); 

if (username == enteredUsername && password == enteredPassword) 
{ ... } 
+0

ユーザー入力が 'answer'と' answer2'以外のもの... – crashmstr

+4

入力のチェックを行うコードはありません。入力は無視されます。 –

+1

はい、入力変数が使用されておらず、ユーザー名/パスワード変数がハードコードされています –

関連する問題