新しいレコードのパスワードが空白ではなく、1 つの空のスペースであるという問題がありました。したがって、最初に頭に浮かんだのは、Trim()
パスワードをロードまたは保存する場所を呼び出すことです。これにより、空白スペースの問題はなくなります。しかし、それが間違っているかどうかについてあなたの意見を聞きたかったのですか?
6 に答える
パスワードをプレーンテキストで保存しないでください。
保存されているパスワードが入力したものと異なることをユーザーに知らせていないため、間違っています... String.IsNullOrWhiteSpaceを使用してサーバー側のチェックを行うことができます。他の回答で述べたように、プレーンテキストで保存しないでください
いずれにせよ、そのような短いパスワードは許可しないことをお勧めします。
また、私の経験では、パスワードの先頭と末尾のスペースは、ほとんどの場合、ユーザーが意図していません。ただし、パスワードを 2 回入力する必要がある場合、ユーザーが意図したパスワードを誤って 2 回パディングする可能性はほとんどありません (カット アンド ペーストを使用して入力しない限り)。ただし、これも一般的な方法であるため、常にパスワードの先頭/末尾の空白を削除しますが、内部のスペースは保持する必要があります。
追加した
他の人がトリミングは悪いと言っているのを読んだことがありますが、私はまだ彼らが間違っていると言います. 常にトリムして常にパッドを使用する場合、パスワードは常に機能します-そして、保存されたパスワードが完全に一致しないことを彼らは知りません-もちろん、「パスワード」を一方向ハッシュだけに保存しないでくださいその結果、正しいハッシュ値にハッシュされているかどうかだけで、とにかくパスワードが何であるかを知る方法が本当にわかっています。
スペースはパスワードに有効な文字です。したがって、トリミングしてはいけません。
また、パスワードを格納するには、「String」クラスの代わりにSecureStringを使用する必要があります。
パスワードの検証に最小文字数制限または検証を設定し、トリミングしないことをお勧めします。