• Категории
  • Подписка
  • Разместить статью
21/11/10 29 924 Лайфхак
-

Как создать легкозапоминаемый и надежный пароль

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

  • password.nanohertz.net
  • genpas.narod.ru
  • pwgen-win.sourceforge.net
  • pasw.ru

Зачем нужен уникальный и надежный пароль, я говорить не буду, многие наверняка знают. В любом случае пароль должен быть разным и часто меняться для большей надежности. А фантазия, как не парадоксально, не безгранична. С этой целью и придумали люди генераторы паролей. А правда, зачем тратить трафик в поиске сайта генератора паролей, если достаточно вставить нижепредставленный JavaScript код в обычный html-документ:

<style> 
.jsPassGenWrapper { 
    width:300px; 
    height:180px; 
    padding:10px; 
    border:1px solid #aaa; 
} 
.jsPassGenWrapper #jsPassGenForm { 
    float:left; 
    width:50%; 
    font-size:16px; 
    font-family:Courier, serif; 
} 
.jsPassGenWrapper .jsPassGenCtrls { 
    float:right; 
    width:50%; 
    margin-top:100px; 
} 
.jsPassGenWrapper input { 
    padding:0px 10px; 
} 
</style> 
<div class="jsPassGenWrapper"> 
    <div id="jsPassGenForm"></div> 
    <div class="jsPassGenCtrls"> 
        <input type="checkbox" id="jsPassGenUseNumsCB" checked="checked" /> 
        <label for="jsPassGenUseNumsCB">Use numbers</label><br /> 
        <input type="button" value="Create password" onClick="runPassGen()" /> 
    </div> 
<script type="text/javascript"> 
/* @param id - идентификатор блока для вставки паролей)
@param syllableNum - количество слогов в пароле
@param numPass - количество количество паролей вставляемых в блок
@param useNums - использовать числа или нет */ 
function jsPassGen(id, syllableNum, numPass, useNums) { 
    id = typeof(id) != 'undefined' ? id : 'jsPassGenForm';    // параметры по умолчанию
    syllableNum = typeof(syllableNum) != 'undefined' ? syllableNum : 3;
    numPass = typeof(numPass) != 'undefined' ? numPass : 10; 
    useNums = typeof(useNums) != 'undefined' ? useNums : true;
 
    function rand(from, to) { 
        from = typeof(from) != 'undefined' ? from : 0;    // параметры
        to = typeof(to) != 'undefined' ? to : from + 1;    // по умолчанию
        return Math.round(from + Math.random()*(to - from)); 
    }; 
 
    function getRandChar(a) { 
        return a.charAt(rand(0,a.length-1)); 
    } 
 
    var form = document.getElementById(id); 
    // Наиболее подходящие согласные для использования их в качестве заглавных
    var cCommon = "bcdfghklmnprstvz"; 
    var cAll = cCommon + "jqwx";    // Все согласные 
    var vAll = "aeiouy";    // Все гласные 
    var lAll = cAll + vAll;    // Все буквы
 
    form.innerHTML = ""; 
    for(var j = 0; j < numPass; ++j) { 
        // Коэффициент определяющий вероятность появления числа между слогами
        var numProb = 0, numProbStep = 0.25;
        for(var i = 0; i < syllableNum; ++i) { 
            if(Math.round(Math.random())) { 
                form.innerHTML += getRandChar(cCommon).toUpperCase() + 
                                    getRandChar(vAll) + 
                                    getRandChar(lAll); 
            } else { 
                form.innerHTML += getRandChar(vAll).toUpperCase() +  
                                    getRandChar(cCommon); 
            } 
            if(useNums && Math.round(Math.random() + numProb)) { 
                form.innerHTML += rand(0,9); 
                numProb += numProbStep; 
            } 
        } 
        form.innerHTML += "<br />"; 
    } 
    return false; 
} 
 
function runPassGen() { 
    jsPassGen('jsPassGenForm', 3, 10, jsPassGenUseNumsCB.checked);
} 
 
runPassGen(); 
</script> 
</div>

Алгоритм данного генератора от автора С.М. Свешникова, позволяет создать пароль из слогов, что напоминает слова или словосочетания, помимо этого слог начинается с заглавной буквы, что увеличивает запоминаемость.

Область применения разнообразная, можно использовать в качестве списка случайных предлагаемых пользователю паролей, например, во время  регистрации, с возможностью изменения сложности пароля, регулируя количество слогов.


29 комментариев на «“Как создать легкозапоминаемый и надежный пароль”»

  1. пароли к форумам, каталогам и прочей ерунде я не придумываю, он у меня дле всех один. А для своих сайтов, почты, хостеров и т.п. — все уникальные, записаны в спец-блакноте на компе, еще раз запаролены) а копии постоянно переношу на RW-диски

  2. А у меня свой способ создания легозапоминаемого и надежного пароля. Но я его не скажу, потому что это — секрет.

  3. Поскольку на работе обычно за порядком следят суровые одмины, пароли меняются в принудительном порядке каждый месяц. Уже много лет тому назад придумал железный метод не ломать голову: изначально придумываю некую комбинацию буков — связанных с названием компании, например, и чтобы большие-маленькие были — и внутре встраиваю банальный счетки — 3-4 цифры. И на каждую смену пароля счеткиц просто на единичку увеличиваю. Что интересно, данная система успешно пропускается весьма строгими (наверное) фильтрами неповторяемости и «не-простоты» паролей доменной системы Винды. Ну и можно оценить, сколько ты уже работаешь на этой работе. :) Дарю всем безвозмездно!

  4. Пароль — дата рождения 😀

  5. Спасибо большое!Очень полезная информация!

  6. Лучше использовать собственную комбинативную извилину: например берете свои фамилию, имя и отчество, а еще можно взять дату рождения полную, и накладывая друг на друга — получаете пароль, криптографическая стойкость которого не уступает всем эти сгенерированным бессмыслицам.

  7. Вообще никогда не запоминал пароли, просто рандомно набирал и сохранял в надежное место.

  8. Тоже стараюсь сам придумывать достаточно сложные пароли. Во всех своих паролях использую не только буквы и цифры, но и символы: @, $, % и т.д. Как известно, пароли в которых присутствуют такие символы, гораздо труднее взломать.

  9. Вещь полезная, но я предпочетаю осмысленные пароли, по моему они гораздо лучше запоминаются, нежели сгенерировнные.

Добавить комментарий

Яндекс.Метрика