Решения от подписчиков - JavaScript задача #5

Решения от подписчиков - JavaScript задача #5


Дмитрий Иванников

function generatePassword(length) {
 let possible = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-=<>?';
 let randomNumbers = new Uint8Array(length);
 window.crypto.getRandomValues(randomNumbers);
 let result = Array.from(randomNumbers)
   .map(num => possible.charAt(num % possible.length))
   .join('');

 return result;
}

alert(generatePassword(10)) // Okvns^wfVo

CodePen: https://jsfiddle.net/58dqa3tp

Danill14301

function genPass(len) {
 let symbols = ['~','1','4',')','2','(','7','O', 'p', ';', ']', '[', '"','8','9','q','w','e','r','s','t','y','h','!', '{', '@', '#', 'F', 'W', '$', '/', '&', '?', 'C', 'z', '#', '-', '=', '+', '_', '№', 'Ж', 'В', 'x', 'ы', 'ф','й','щ','ш','ъ','э','п','т','б','ю','ь','л','д','к','|'];
 let pass = [], date,i = 0;
 let interval = setInterval(() => {
   pass[pass.length] = symbols[new Date().getSeconds() +            Number(String(new Date().getMilliseconds()).split('')[0])];
   i++;
   if(i == len) {
     clearInterval(interval);
     gen.innerHTML = 'Generate password';
     alert(pass.join(''));
   }
 },150);
}

gen.addEventListener('click', ()=>{gen.innerHTML = 'Generating...';genPass(6)});

CodePen: https://jsfiddle.net/Danill14301/exchfoq7/15/

Report Page