密码中允许使用哪些字符的最佳规则是什么?

我根本没有想过它,我只想说我应该允许每个字符。它在任何情况下都会被散列,我不想限制那些想要创建强密码的人。

然而,仔细想一想,有很多角色我都不知道他们会对事情产生什么影响。外文字符、ascii符号等。

我试着在谷歌上搜索,但我找不到任何关于人们所做事情的权威标准。即使是大多数专业组织似乎也不知道。对于许多网站来说,完全禁止特殊字符似乎是一种常见的做法,这是愚蠢的,也不是我想做的。

不管怎样,对于长度、允许的字符数等等,有什么标准的建议吗?

我不确定这是否重要,但我将使用带C#的ASP.NET