Passwords 生成的密码字符很难出错

Passwords 生成的密码字符很难出错,passwords,accessibility,Passwords,Accessibility,我正在开发一个工具,其中生成一个短传递代码。该代码将被读给目标用户,因此我想将我的字符集限制为不容易出错的字母。读者和听众都没有经过培训,因此任何解决方案都必须对他们透明。我希望能把密码给他们,让他们极不可能听错一封信 首先,我将可能的字符列表限制为那些根据字体看起来相似的字符,因此没有l或1、0和O,S和5也没有,你能想到其他字符吗 另外,我想删除听起来相似的字母,所以G&D和B&p被淘汰了。有没有常见的听错信的来源 我知道这将大大减少可能的字符数,但我确实需要它,因为可访问性问题。另外,代码

我正在开发一个工具,其中生成一个短传递代码。该代码将被读给目标用户,因此我想将我的字符集限制为不容易出错的字母。读者和听众都没有经过培训,因此任何解决方案都必须对他们透明。我希望能把密码给他们,让他们极不可能听错一封信

首先,我将可能的字符列表限制为那些根据字体看起来相似的字符,因此没有l或1、0和O,S和5也没有,你能想到其他字符吗

另外,我想删除听起来相似的字母,所以G&D和B&p被淘汰了。有没有常见的听错信的来源


我知道这将大大减少可能的字符数,但我确实需要它,因为可访问性问题。另外,代码接收端的人可能不会意识到我正在限制字符集。我限制字符的事实应该对读取密码的人和听到密码的人都是透明的。

你不能让它用北约拼音字母读回吗

阿尔法 B好极了 C查理 D三角洲 E回声 狐步舞 G高尔夫 H酒店 我喜欢印度 朱丽叶 千克 利马 我是迈克 十一月 奥斯卡 爸爸 魁北克 罗密欧 S塞拉 探戈 U型制服 维克托 威士忌 X射线 美国佬 祖鲁

如果没有,您确实需要删除任何结尾带有“ee”音的字母,即:
B、 C、D、E、G、P、T、V、Z

我在google answer上发现了类似的讨论:


这可能对你有所帮助,看看pinkfreud ga给出的答案

嗯。。。我假设代码将是一个可视化的表示,然后将被最终用户读取?因为如果它是通过语音合成说出来的,那么
0
O
就不是问题了,对吧

如果是这样,您是否能够直观地帮助表示该代码

您的代码是
[M]艾克[C]哈利[5]


这种方法似乎比它需要的要难一些,tbh,特别是在数字相似的外观限制下。为什么不将字母和数字限制在密码中的某些位置,并明确“前X个字符将是字母字符,最后X个字符将是数字”


如JNKyle所说的北约拼音字母表也有助于视觉反馈,如果您可以使用它的话。

只选择几个字符并使用这些字符:

APJZCHWRTE
apjzchwrte

虽然一个好的密码最终很长。添加几个数字,您就可以构造更短的密码。

设置一个易读的字符集,然后将其随机化

这里有一个Ruby解决方案

charset = %w{ 2 4 6 7 f h q w x y }
password = (0...10).map{ charset.to_a[rand(charset.size)] }.join

这将生成类似“qh4w26wxfq”的密码

一些现成的选项

如果不必是随机数字和字母,你可以使用单词词典。这样,人们就不必读出每个字符。然后可以用数字填充单词,使其更独特

3power41
69topic31
另一种可能性是,使所有两个字符集彼此相邻

ab-pq-78-de-mn-op
当一个角色因为听错了而打破了这个模式时,你会更容易注意到(即使是没有受过训练的人也可能会注意到这个模式)

如果输入,类似的模式可以用作键盘上的相邻字母

qw-df-hj-io-23-we

可能性是无限的。

在接受了其他答案中的建议后,我发现这是一个减少的字符列表,我发现在说话或观看时很难出错

fhikorsuwxyFHKLQRUWXY246789

特别感谢:


如果没有他们的建议,我将无法合成此列表。

可能,但将阅读密码的用户未经培训。他们将提交一份表格并取回密码,他们将告诉其他人。我真的觉得我不能依靠他们使用拼音字母表,因此需要限制d字符集。对ee发音的名字有很好的理解,+1。语音字母表是这样的,你可以转录。也就是说,代码生成ABCD123,并打印“Alpha Bravo Charlie Delta 1 2 3”“。如果您需要它不明显地表明您正在这样做,那么我将使用F H I J K L M N O Q R S U W X Y。如果您在客户端使用正确的字体(如courier new),则1/L和0/O不应成为问题。始终使用大写字母,字体在零处加斜杠。但是听众需要知道,然后代码不是Alpha-Bravo-Charlie-Delta-123,而是ABC123,所以不是很多。建议的字母表很好,但包括常见的听错字母,如m&n。感谢您的改进。根据字体的不同,g、q和9看起来都很相似。。可能这不仅仅是一个错误的印刷字符的问题。但是当一个角色被大声说出时,可能会把它错当成另一个角色。我理解这个问题,但我认为你可能想得太多了。我将字符集简化为唯一发音的字符。我们在工作中遇到同样的问题,人们打电话来获取新密码。类似于上面的方法可以很好地工作,或者我们只是暂时将他们的密码更改为简单的“溢出”,然后他们可以将密码更改为任何他们想要的。但是这需要说密码的用户和听到密码的用户都对模式有预先存在的了解。这样做的目的是让它完全透明,这样双方都不需要知道任何信息,除了如何阅读字母或数字。我可以,但这会让读者意识到我在试图安抚他们。信息应该是清晰的。是的,但是读者和听众都不知道最小化的集合。我试着挑选几个角色,但他们需要哈