【发布时间】:2017-04-11 16:33:26
【问题描述】:
我正在尝试编写密码生成器。但是,我发现我的代码不可靠。我希望我的函数的每次运行都返回 20 个随机字符。这在大多数情况下都有效,但是如果我向该函数发送足够多的垃圾邮件,那么有时我会得到一个低于我标准的结果(例如:2 个字符串,无等)。
var longth = 20,
allc = "!@#$%^&*()_+~`|}{[]\:;?><,./-=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
passgen = '';
for (var i = 0; i < longth; i++) {
passgen += allc.charAt(Math.floor(Math.random() * allc.length));
}
不确定问题是否出在我的代码中的逻辑上,或者我的 allc 变量中的某个字符是否存在中断而导致问题。也许我没有正确表达变量。
【问题讨论】:
-
什么意思?你确定这行不通吗?
-
你的标准是什么?
-
“有时我得到的结果低于我的标准(例如:2 个字符串,无等)” - 嗯?显示的代码生成一个字符串,那么“2 个字符串”、无等是什么意思?您能否请edit 您的问题添加一些错误结果的示例?
-
意思是“字符”。
标签: javascript