如何在C#中本地化密码验证?

bsh*_*52s 1 c# localization special-characters

我正在尝试本地化具有以下逻辑的现有应用程序,该逻辑尝试验证密码文本框.我假设这不适用于具有特殊字符的语言,用户可以在文本框中键入.我对么?我认为我们不想限制用户输入非英文字符(即阿拉伯语,中文等).或者,有什么我不理解的东西?

Regex ValidHex =
   new Regex("[A-Za-z1234567890_-]+", RegexOptions.IgnoreCase);
if (!ValidHex.IsMatch(e.Text))
{
   e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

Fre*_*örk 8

您可以这样做以支持unicode字符:

[\p{L}\p{N}_-]+
Run Code Online (Sandbox Code Playgroud)

作为旁注:是否有任何特定原因需要限制允许的字符?


Ben*_*n S 6

不要存储密码!

使用加密散列函数散列密码并对其进行比较.

  • @Ben S:提到密码存储的问题在哪里? (9认同)