如何保护密码字段免受恶意输入?

How to protect a password field from malicious input?

出于安全原因,我目前正在对我的应用程序输入字段应用输入验证。消除特殊字符或应用正则表达式可以完成大多数字段的工作,但我对密码感到困惑,因为合法密码很可能包含特殊字符。

如何在不使合法密码失效的情况下保护该字段免受恶意攻击? 注意:我无法控制实际密码遵循的规则。

我目前在下面设置的内容不允许任何非字母数字字符,但大多数好的密码都将包含特殊字符。

NSString *pattern = @"^(?:\n|\w)+$";

获取用户输入的内容并对其进行哈希处理,然后使用哈希作为密码。这样用户就无法控制确切的密码。

最好使用 PBKDF2,它旨在从密码创建派生密钥。