javascript - 在javascript中生成安全密码

标签 javascript passwords

在 javascript 中生成安全密码的最快方法是什么?

我希望它至少包含 1 个特殊字符和 2 个大小写混合。长度必须至少为 6 个字符。

最佳答案

这里有一些有用的 String 函数:

String.prototype.pick = function(min, max) {
    var n, chars = '';

    if (typeof max === 'undefined') {
        n = min;
    } else {
        n = min + Math.floor(Math.random() * (max - min + 1));
    }

    for (var i = 0; i < n; i++) {
        chars += this.charAt(Math.floor(Math.random() * this.length));
    }

    return chars;
};


// Credit to @Christoph: http://stackoverflow.com/a/962890/464744
String.prototype.shuffle = function() {
    var array = this.split('');
    var tmp, current, top = array.length;

    if (top) while (--top) {
        current = Math.floor(Math.random() * (top + 1));
        tmp = array[current];
        array[current] = array[top];
        array[top] = tmp;
    }

    return array.join('');
};

您的密码如下所示:

var specials = '!@#$%^&*()_+{}:"<>?\|[];\',./`~';
var lowercase = 'abcdefghijklmnopqrstuvwxyz';
var uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var numbers = '0123456789';

var all = specials + lowercase + uppercase + numbers;

var password = '';
password += specials.pick(1);
password += lowercase.pick(1);
password += uppercase.pick(1);
password += all.pick(3, 10);
password = password.shuffle();

演示:http://jsfiddle.net/Blender/ERCsD/6/

关于javascript - 在javascript中生成安全密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635652/

相关文章:

php - 如何最好地存储用户信息和用户登录名和密码

Javascript - 检查字符串是否可以转换为整数?

Javascript 正则表达式以逗号分隔的字符串拆分单词

mysql - 存储双向密码最安全的方法是什么?

c# - 使用 iTextSharp 打开受密码保护的 pdf 文件

validation - 验证Grails中的加密密码

PHP 用户名和密码验证使用password_verify

javascript - 使用 json 的 slider

javascript - 向右滚动模拟

javascript - jsPDF - Firefox 中的兼容性问题