如何调整随机密码的长度
How to adjust the length of random password?
早上好,
我有这样的代码(只是一个例子):
function random(min, max) {
return min + parseInt(Math.random() * (max - min + 1));
}
function generatePassword(length, charset) {
var password = "";
while (length--) {
password += charset[random(0, charset.length - 1)];
}
return password;
}
function getNewPassword() {
$('#password').text(generatePassword(12, "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_"));
}
我想在HTML中添加一个输入字段,在这里我可以设置生成的密码的长度。
你能和我一起找到解决方案吗?:-)
http://jsfiddle.net/RnsTq/
在对generatePassword
的调用中使用parseInt($('#len').val(), 10)
,而不是12
,其中len
将是输入元素的id。
就这样:http://jsbin.com/odosoy/94/edit
Javascript
$(document).ready(function() {
$("#generate").click(function() {
getNewPassword();
});
function random(min, max) {
return min + parseInt(Math.random() * (max - min + 1), 10);
}
function generatePassword(charset) {
var length = parseInt($("#passlength").val(), 10);
var password = "";
while (length--) {
password += charset[random(0, charset.length - 1)];
}
return password;
}
function getNewPassword() {
var pass = generatePassword("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_");
$('#password').val(pass);
}
});
HTML
Length: <input id="passlength"/><br>
Password: <input id="password"/><br>
<button class="btn btn-info" id="generate">Generate Password</button>
更新
只是对你最初的例子进行了一些修改和风格化,没有什么特别的。http://jsbin.com/odosoy/97/edit以及其中密码被替换的密码:http://jsbin.com/odosoy/125/edit
希望能有所帮助。
看看这个:
function gen_random(len){
var charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var tempChar = charset.split('');
for (var i = 0; i < len; ++i) {
password += tempChar[Math.floor(Math.random() * (26+26+10)) + 1];
}
return password;
}
在生成密码之前,尝试添加一个新的文本字段并获取其值。
var passwordLength = $('#maxLength').val();
$('#password').val(generatePassword(passwordLength, "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_"));
你可以看到一个快速&脏小提琴在这里:http://jsfiddle.net/nininho/pG5A7/1/
试试这样的东西:-
Math.random().toString(36).substring(7);
在JS中生成密码的最佳方法是使用诸如https://github.com/bermi/password-generator
这将为您生成一个长度可自定义的密码,甚至可以令人难忘。
在提供的链接上还有几个例子。
- 如何使用密码检测网络中的状态连接
- Meteor忘记了密码的实现
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 使用当前日期生成随机id
- 使用密码对话框Javascript请求帮助
- Internet Explorer缺少占位符支持,特别是密码字段
- angular js密码强度显示问题
- 一个密码测试程序,如果存在空格,它会提醒用户
- 密码输入键脚本在首次使用后无法工作
- 从a-z中随机选择一个字母
- JavaScript生成html格式的密码
- RequireJ无法随机加载脚本
- 单击按钮时显示随机字符串
- 在表单完成并确认密码之前,请禁用提交按钮
- 随机生成密码
- 将随机密码值分配给特定列(单元格)
- 如何调整随机密码的长度
- 如何验证使用随机salt散列的密码
- Javascript生成具有特定字母数的随机密码
- 解密随机数据(到密码)