Как генерировать поддельные пароль с помощью JavaScript, используя случайные библиотека


Мне нужно сгенерировать пароль с помощью:

  • минимальная длина: 7
  • максимальная длина: 15
  • верхний регистр : по крайней мере одна буква
  • нижний регистр : по крайней мере одна буква
  • специальный символ ~ ! @ # $ % ^ * ( ) _ + ?

Я использовал casual lib, но я не могу создать специальный символ. Может ли кто-нибудь помочь мне в этом вопросе?

var casual = require('casual');
var password = casual.password.substring(10,{

    length: 10,
    uppercase: true,
    lowercase: true,
    number: true,
    symbols: true,
    strict: true
});
1 2

1 ответ:

Должно быть довольно легко свернуть свой собственный:

const lowercaseLetter = () => casual.random_element('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''));
const uppercaseLetter = () => casual.random_element('abcdefghijklmnopqrstuvwxyz'.split(''));
const specialCharacter = () => casual.random_element('~!@#$%^*()_+'.split(''));
const anyCharacter = () => casual.random_element([lowercaseLetter(), uppercaseLetter(), specialCharacter()]);

casual.define('specialPassword', function() {
    const length = casual.integer(from = 7, to = 15);
    const pw = [lowercaseLetter(), uppercaseLetter(), specialCharacter()];
    while (pw.length < length) {
       pw.push(anyCharacter());
    } 
    return pw.join('');
});

Вы должны, конечно, перетасовать pw на последней строке, если вы заботитесь о "безопасных" паролях.