密码中一般需要支持特殊字符,但特殊字符包含哪些,如果规则中漏掉了键盘上的某个字符,会让使用漏掉的特殊字符的用户很不爽。
什么是特殊字符?
特殊字符是不被视为数字或字母的字符。符号、重音符号和标点符号被视为特殊字符。同样,ASCII 控制字符和段落标记等格式字符也是特殊字符。与字母数字字符不同,特殊字符用途广泛,可用于书写、编码和数学运算中的多种不同目的。
键盘上的特殊字符示例
在典型的美国 QWERTY 键盘上,有 32 个特殊字符。这些在下表中按出现顺序从左到右列出:
特点 | 描述 | 利用 |
~ | 波浪号 | 西班牙语中常用的重音符号 |
` | 重音 | 法语中常用的重音符号 |
! | 感叹号 | 用书面语言表达强烈的情感;用编程语言表达逻辑否定;注意数学中的阶乘运算 |
@ | 艾特 | 将用户名连接到电子邮件中的域名;在会计和发票中表示费率;社交媒体平台和聊天室中的用户名/句柄 |
# | 章鱼刺 | 数字符号;在编程中表达不可执行的语句 |
$ | 美元符号 | 用货币表示价值 |
% | 百分号 | 以百分比表示价值 |
^ | Circumflex,插入符号 | 表达数学中的指数;PC 上 CTRL 键的简写 |
& | 与号 | 在英文文本中表示“和”;合并电子表格公式中的值 |
* | 星号 | 数学乘法;指示脚注 |
( | 左括号 | 开始括号文本 |
) | 右括号 | 结束括号文本 |
_ | 下划线 | 不允许空格时替代空格键 |
– | 连字符、破折号 | 数学减法;在书面文本中创建短划线或短划线 |
+ | 加号 | 数学加法 |
= | 等号 | 数学方程 |
{ | 打开支架 | 以各种编程语言打开语句组或代码块 |
[ | 打开括号 | 引用文本中缺失细节的开始部分;开始在编程语言中进行字符串验证;间隔的开始数学符号 |
} | 闭合大括号 | 关闭各种编程语言的语句组或代码块 |
] | 右括号 | 引用文本中缺失细节的结尾部分;结束编程语言中的字符串验证;结束区间的数学符号 |
| | 竖条 | 文本文件中的分隔符;在命令行界面(CLI)中将命令的输出重定向到另一个命令的输入;表示 OR布尔运算符(双管道) |
反斜杠 | 分隔文件或网络路径中的位置 | |
: | 冒号 | 将协议与 URL 中的网址分开;识别电子表格公式中的范围;在书面文本中的项目列表之前 |
; | 分号 | 在书面文本中加入两个相关的句子;完成编程语言教学;用书面文本分隔列表中的长项目 |
“ | 双引号 | 表示对书面或口头内容的逐字记录;识别不属于编程命令或HTML标记的文本或数据 |
' | 单引号、撇号 | 包含命令或文字字符串;在引文中指明引文;在书面文本中表达收缩或所有格名词 |
< | 打开尖括号,小于符号 | 表示两个值之间的关系,其中右边的值大于左边的值 |
, | 逗号 | 分隔列表中的项目;用连词连接独立的从句或句子;分隔大量数字;在计算机程序中分离值或元素 |
> | 右尖括号,大于符号 | 表示两个值之间的关系,其中左边的值大于右边的值 |
. | 时期 | 指示陈述句的结束;将文件名与文件扩展名分开;分隔 URL 的各个部分 |
? | 问号 | 问一个问题 |
/ | 正斜杠 | 数学除法;分隔日期的月、日和年;表示编程语言中的不可执行语句;HTML和XML中的结束标记;定界表达式;分隔文件或网络路径中的位置;编写 URL 和网络地址 |
为方便使用,可以直接复制。
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
密码中的特殊字符
创建强密码时通常需要特殊字符。这是因为它们增加了密码的复杂性并减少了用户帐户被黑客入侵的机会。许多黑客使用常见或容易猜到的短语和字符组合(例如“密码”和“1234”)列表来访问用户帐户,因此特殊字符使密码难以预测。
参考:https://owasp.org/www-community/password-special-characters