Как стать автором
Обновить

Комментарии 101

мини-энигма для обычного человека ))
Если кто-нибудь создаст программу использующую данный принцип, предлагаю название программы EnigmaPass.
Завтра делфю установлю и если будет время…
да можно и на VBA наклепать, раз уж пример опубликован
ппц как всё сложно. может проще скачать вот эту табличку, и её использовать? (по ссылке — pdf со случайно сгенерированной таблицей)
Поставили? Время нашлось?
Это конечно прикольно, но всё равно что файлы в hex'е распечатывать, вместо бэкапа. Чем многочисленные менеджеры паролей хуже?
Менеджеры паролей хороши, с этим спорить весьма сложно. А если Вы находитесь в интернет-кафе и Вам нужен Ваш пароль? Даже если учесть что у Вас менеджер паролей на флешке и USB-порты открыты, то паранойю ещё никто не отменял. А если Вы забудите пароль от менеджера паролей? Как Вы пройдёте через ещё одну «бронированную» дверку?
Так же, как нужен менеджер паролей, так же и таблица нужна. Я не смогу её запомнить =) Конечно, бумажку проще с собой носить, но, например, мобильник я дома забываю реже, чем, скажем, паспорт=) Я думаю, если в клубе стоит кейлоггер, то ни один метод не спасёт. Пароль можно забыть так же, как и ключевое слово.

В целом интересно, но KeePass не променяю на таблицу =)
keepass на мобильном — верное решение!
keepass на флэшке. Он же шифрует базу свою как-то, вряд ли кто-то кроме ЦРУ сможет расшифровать за вменяемое время даже простой архив с паролем вида vi2R476_6x%rv67`537c (сгенерировано вручную по принципу «пьяный пианист»).
читайте выше — не везде позволено использовать USB устройства.
> А если Вы находитесь в интернет-кафе и Вам нужен Ваш пароль?

B вы будите сидеть и по бумажке вычислять пароль? А если срочно?

> А если Вы забудите пароль от менеджера паролей?

Не раз бывало. В одном из офисов обнаружилось место, сев на которое я забываю пароль т менеджера паролей, а на его место в памяти встаёт пароль от рута в институте. Иду в другой кабинет. Сажусь, расслабляюсь, и пароль от менеджера паролей возвращается в голове на место.
ассоциации страшная сила :)
сам не раз замечал, что в зависимости от обстановки информация в голове замещается целыми блоками. при чем связь между блоками и обстановкой железная, можно использовать вместо «напоминалок» :)
Генератор паролей + AI Rofoform. Решает проблему.
одним словом hash+salt
Я делаю так:
$  # echo 'example.com+myphrase'|md5sum
e6d2ae6704e1c910bc6f49b1ad5e5024


P.S.: табличка взорвала мои глаза!
Мне табличка тоже глаза взрывает. Но я же не предложил очередной инфо-дизайн (его можно усовершенствовать). Я предложил идею безопасных и простых паролей.
К табличке и методу нет претензий, кому-то будет удобно. Мне же проще и привычнее мой вариант, тоже достаточно знать адрес сайта+секрет. Ну и иметь консоль *nix-овую под рукой. Зато табличка не нужна )
Хотя перед публикацией топика я табличку распечатывал на чёрно-белом принтере. В бумажном виде вышло всё не так взрывоопасно.
я тут причём? О_о
$ # echo 'example.com+myphrase'|md5sum

я тут причём? О_о

Вы ни при чём: вы при .com
Спасибо за идею :)
По-моему набор символов маловат. Если добавить !@#$%^&*()-_+=, пароль можно сделать гораздо короче, не потеряв криптостойкости.
гораздо важнее длина пароля и его! словарность, чем набор алфавитов
И остается это в history оболочки :)
Где-то видел скрипт, который не выводит в открытом виде myphrase
А еще можно солить второй частью credentials (логином, например), чтобы иметь сколько хочешь учеток на сайте
1) History моя персональная, кому до неё дело?
2) И вообще ln -s /dev/null ~/.bash_history
Личная — это хорошо. Только вот пароль, дефакто записанный в открытом виде, пусть и где-то на локальной машине, все равно смущает
только вот адрес example.com может поменяться, и пароль ваш перестанет подходить (в случае если все это автоматически генерировать, а не вводить url вручную)
вспомните тот же torrents.ru
для этого есть система восстановления паролей, кроме того, в примере с torrents.ru только глухо-слепой не знал о смене адреса )
— Представляешь, у torrents.ru сменился адрес!
— Фига себе! А что это?
— Понятия не имею, но это же ужос!
Волшебную табличку не запомнить :(
А я не тоже. Я английского не знаю. Хотя Google-переводчик мне помог. Я тоже все два PIN-кода от пластиковых карт записал на бумажке. Правда я добавил ещё кучу циферок к этой записи. Данная идея может быть и плохая, но правильная.
А я в мобильник записываю.
Создаю несуществующего персонажа, и его номер мне как бы напоминает…
Честно говоря была где то более полная статья, но найти не могу.
Да, это оно самое. Принцип тот же самый. Это ОЧЕНЬ старый способ симметричного шифрования. Им пользовались ещё при царе-горохе.
Да проще *-3+^#$N9dn~m_b3n4 запомнить!
У Вас такой пароль ко всем сайтам такой? Тогда кое-кто идёт к Вам. Другой? Ух как мы Ваш пароль к сайту «разногрупники» узнаем и всё, нет у Вас больше аськи!
Это был сарказм.
Да, я понял. Ответил сарказмом.
Вот здесь предложена гораздо более удобная реализация похожей идеи (пароль для сайта генерируется из названия сайта и единой ключевой фразы).
Я не изобрёл карамельку, я завернул её в другой фантик. Я проверил Ваше предложение. РАБОТАЕТ!!! А это главное. Идея не в системе, а в заголовке моего поста. Сложные пароли не нуждаются в запоминании. Но они ещё и в интернете не нуждаются. Лист бумаги, ручка (дополнительно можно использовать разноцветные маркеры) и Ваша фантазия. Это всё что нужно для правильного пароля.
По ссылке, которую я дал выше, тоже интернет не обязателен, т.к. все реализовано на javascript и предлагается к скачиванию отдельный файлик. Только это отнюдь не мое предложение. Вот его автор.
Все отлично, это наверное хороший способ генерировать «случайный» пароль с возможностью его восстановления…
Но есть несколько «НО:
— всякие „нехорошие“ сайты типа альфа-клик заставляют меня менять пароль раз в месяц. Как быть в этом случае?
— как запомнить эту табличку или как сгенерировать точно такую же в случае ее утери?
— »генерация пароля" вручную долгая и нудная. стандартной автоматизации не предусмотрено.

может быть сделать проще?
base64(md5(«ключевая фраза»+«кодовое слово»))
берем первые 10 символов — чем не пароль? ;)
Я задумался. Жаль что Ctrl+Alt+Del на меня не действует. Будем тупо думать.
Думать не получается. А у Вас есть первобытно-общинная палкокопалко? Стукните меня, пожалуйста, по самой костистой части тела, то есть по голове.
Интересный подход, фактически хэширование вручную. И главное зная принцип всегда можно восстановить все пароли, даже без наличия физического доступа к компу.
Вы открыли шифр Хилла-Плейфэйра? И наверняка, знаете, почему они остались в прошлом?
Отлично. Удивляет, столько топиков о ИБ, кругом паранойя, а матчасть не учат.

По теме — заставить вас зарегиться на 3-4 сайтах, и уже есть материал для анализа.
поделитесь инфой насчёт шифра Хилла-Плейфэйра, потому как то, что я нашёл не особо похоже на то, что я вижу здесь.

по-моему, это просто квадрат виженера…
Вы правы, Плейфейр и Хилл, в оригинале, усложнённые разновидности квадрата Вижинера.
Зачем для создания пароля использовать квадрат Вижинера? Ему же не нужна «криптостойкость». Достаточно будет использования простого одноалфавитного шифра замены — это ж куда как проще.

А если сам процесс шифрования доставляет удовольствие, то я советую обратить внимание на Enigma (Silverlight). Будет еще более аутентично.

Если кто не знает как пользоваться — вверху нужно покрутить три «диска», а внизу нужно перемычками соединить несколько выходов.
> [картинка с летчиком, хватающимся за голову]
В глазах рябит…
Вот вы не поверите, использую 6 паролей для разных типов сайтов, компьютеров и т.п. И с 1998 года(тогда мне было 9 лет) еще ни разу мой пароль не взламывали не на 1 из ресурсов. Мой пример паролей примерно такой:

1. Одноразовые сайты.
а) проверить логин\пасс: qwerty\qwerty
б) если не подходит создать свой аккаунт, пароль к которому либо памятная дата, либо что-то вроде 258456
2. Часто посещаемые сайты. Более сложный пароль, но так чтоб легко запомнить, например 321DR67ag0On (кто играл в Heroes of M&M поймут почему он простой и запоминающийся)
3. Электронные кошельки. Тут пароль должен быть сложным, но тоже легко и быстро вводимым, но и запомнить его тоже нужно легко, как пример: zXc_-_8XpOl

Остальные пароли в зависимости от случая, сверх-сложные пароли не генерирую в силу того что их проще всего забыть :)

P.S. Не 1 из вышеперечисленных паролей мною не используется, данные пароли приведены как пример.
я играю в хироес, но пароль запомнить сложно, код конечно же узнал
почему три цифры две буквы две цифры и тд
почему какие то большие, а какие то нет?
логически предположить почему 3 цифры и 2 буквы, потому что 3 цифры идут на убывание (3 2 1), потом пара букв(почему большие? чтоб взломать сложнее было можно для себя решить например чтоб всегда 2 первые буквы были большими), потом еще 2 цифры потому что на возрастание идут (6 7), в конце «0» и «O» для количества символов.
Для первой категории можно использовать bugmenot.com
Предвкушаю, что сделают со старательным админом, который попытается внедрить подобную методу в организации.
Я пользуюсь вот такими карточками — очень удобно и практично, надо только запомнить символ и цвет.
У меня сделано проще.
Есть у меня в инете определенный урл, куда я захожу и попадаю в свой php скрипт.
там у меня поле для вводу названия сервиса или его урла. скрипт создает из него (названия или урла) и известного только мне ключа — несколько хэшей разными алгоритмами и выбирает из них определенные последовательности символов (которые я помню) и строит мне пароль :)
например habrahabr.ru сводится со строкой «secretKey», хэшируется md5, sha1 и берет из них сиволы с номерами скажем 5,3,1,8,6 и составляет 10-ти значный пароль. Типа того :)
Вы ведь по https работаете со своим скриптом, правда? ;)
Разумеется) иначе любой любознательный сниферовод даже не хотя заметит странность с передачей названий ресурсов и рядом с ними 10-ти напоминающих пароль символов)
Гениально! Феноминально! Брависсимо!
В избранное ОДНОЗНАЧНО!
https://chrome.google.com/extensions/detail/bhhinkiejikaoegbkfghkchkfekbkbic
расширение для google chrome со схожим функционалом. Каждому сайту — свой пароль.
«Серёженька, а я опять забыла ...»… как пользоваться табличкой (свою ключевую фразу)

Товарищи! Не ведитесь :-) Не проще ли отправить самому себе письмо с паролем на почту, указав название ресурса в теме. А тело зашифровать RSA 1024-бита. Для расшифровки потребуется приватный ключ и пароль (опциально). Ключик можно хранить на флешке, или где-нибудь на dropbox'е, а паролем сделать какое-нибудь предложение. Например, «one death is a tragedy one million is a statistics». Легко запомнить, нереально подобрать.
Блин да уже давно есть куча готовых решений в духе KeePass. Читаю такие статьи и каждый раз офигеваю, что только люди не придумывают вместо простого и удобного менеджера паролей.
я тоже удивляюсь :)
а еще удивляюсь, как я буду свои 1000+ паролей на этой бумажке держать.
А как вы предложите запоминать дикую комбинацию passwordpassword/HaBRaHaBRDoBiVKa?
Если уж разговор про забывчивого человека, то он не сможет вспомнить и «ключевой фразы» в определенный момент.
НЛО прилетело и опубликовало эту надпись здесь
Издревле пользуюсь pwgen'ом. Рандомные пароли механически запоминаются значительно лучше, чем вот в таких методологиях. Стоит всего-лишь несколько раз набрать пароль.
Насколько я понимаю, самое сложное в паролях, это не их запоминание, а ассоциация пароля и ресурса.
Ошибка в т. 1.2. на второй позиции, должно быть «9» (a-a).
Пароли запоминать легко. Главное, сфокусироваться на них, как на важном, а не второстепенном.

Вот пара паролей из генератора (apg):

juku2Sli
twygFoj7

Первый:

juku 2 Sli. Всмотрись в него. juku, 2Sli. juku 2Sli. Теперь главное не просто запомнить, а связать с некоторой сущностью. juku2Sli — рутовый пароль на srv-312.

twygFoj7. twy twy twy twy twy twy… gF… почти как fg, только совсем наоборот. gF. oj7. twygFoj7. Всё, запомнил.

Запоминать пароли проще, чем номера телефонов (пароли обычно короче и с буквами). Если там знаки препинания — ещё проще, пароль делится на части по этим знакам. «до и после».

А выдумывать табличку — снижать устойчивость пароля.
Все-таки, мне кажется, ни пароль, ни инструменты для его генерации не должны покидать головы хозяина пароля.
А запоминать пароли не так уж и сложно, как может показаться. Голову в любом случае неплохо бы тренировать, запоминая важные данные — свой ИНН, например, паспортные данные, номер банковской карты и т.п. Ну и сложные пароли, чтобы их не забывать, нужно, по возможности, регулярно применять 8)
Блин. Ну нафига такие сложности. Вот сколько если честно признаться у вас действительно важных паролей? У меня 3 всего, почта, пинкод от карты и еще кой чего. Остальная бня ненужная — забуду — восстановлю, а потеряю не жалко. Уж 3-и то пароля как нить запомню. А ну если параноя — то конечно защищать вконтакте и одноклассников суперсложными паролями, разными и с запятыми всякими — это самое то. ИМХО, блин.
особенно если кроме этого больше защищать нечего…
НЛО прилетело и опубликовало эту надпись здесь
А как быть, если имя ресурса поменяется? какой-нибудь torrents, например, на rutracker.org
pwgen+немного серого вещества в голове достаточно для того, чтобы хранить одновременно пару десятков 16-символьных паролей.
отличный бред человека который забывает пины от картона…

Просто шикарный пост…

Я не запоминаю пароли, я их даже не знаю, кроме пары-тройки основных. Остальную работу делает 1Password. Реконструировать пароли по такой табличке — увлекательная игра для начинающего шпиона, но в жизни ее применить тяжело. А если на одном сайте 3 разных пароля? А если я логин забыл? У меня такое часто случается.
есть один гавно пароль для незначительных ресурсов, к которым доступ потерять мне не жалко ну никак. И есть несколько хороших уже вызубренных для нужных ресурсов. Мне зарегистрироваться иногда лень, а тут еще и такой фигней с таблицами страдать.
у меня метод такой, зубрю пароль набивая его по клаве, мин 10- 15 достаточно, можно пару повторений сделать через некоторое время, после запоминать его не нужно, пальцы запоминают. как с нотами на гитаре ))
запоминать надо все данные для авторизации — не везде есть возможность использовать один и тот же логин или email и часто приходится чуть ли не генерировать имя чтобы подобрать свободное
а пароль можно легко восстановить зная эти данные
прям «юнный техник» за 1960 год
Я раньше тоже пароли в keepass хранил, чтобы в голове не держать, но сейчас держу в голове алгоритм генерации пароля, теперь все пароли всегда со мной и keepass уже не нужен как и листы вышеприведенные.
Топик на Хабрахабре где высказываются критические замечания к данному способу придумывания паролей
А это мой ответ на критику.
Теперь услышал. Ну да, теперь мне делать нечего.
Вопрос. Можно ли ниже написанной считать публично опубликованным и использовать свободено без денежных отчислений?
Скрипт взят на этой страничке supergenpass.com/mobile/

<script type="text/javascript">

function b64_md5(p) {
p=utf8_en(p);
return binl2b64(core_md5(str2binl(p),p.length*8));
}

function hex_md5(p) {
p=utf8_en(p);
return binl2hex(core_md5(str2binl(p),p.length*8));
}

function binl2b64(binarray) {
var tab='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678998';
var str='';
for(var i=0; i<binarray.length*4; i+=3) {
var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);
for(var j=0; j<4; j++) {
str+=tab.charAt((triplet>>6*(3-j))&0x3F);
}
}
return str;
}

function binl2hex(binarray) {
var hex_tab='0123456789abcdef';
var str='';
for(var i=0; i<binarray.length*4; i++) {
str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);
}
return str;
}

function core_md5(x,len){
x[len>>5]|=0x80<<((len)%32); x[(((len+64)>>>9)<<4)+14]=len;
var a=1732584193; var b=-271733879; var c=-1732584194; var d=271733878;
for(var i=0;i<x.length;i+=16){
var olda=a; var oldb=b; var oldc=c; var oldd=d;
a=md5_ff(a,b,c,d,x[i+0],7,-680876936); d=md5_ff(d,a,b,c,x[i+1],12,-389564586); c=md5_ff(c,d,a,b,x[i+2],17,606105819); b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);
a=md5_ff(a,b,c,d,x[i+4],7,-176418897); d=md5_ff(d,a,b,c,x[i+5],12,1200080426); c=md5_ff(c,d,a,b,x[i+6],17,-1473231341); b=md5_ff(b,c,d,a,x[i+7],22,-45705983);
a=md5_ff(a,b,c,d,x[i+8],7,1770035416); d=md5_ff(d,a,b,c,x[i+9],12,-1958414417); c=md5_ff(c,d,a,b,x[i+10],17,-42063); b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);
a=md5_ff(a,b,c,d,x[i+12],7,1804603682); d=md5_ff(d,a,b,c,x[i+13],12,-40341101); c=md5_ff(c,d,a,b,x[i+14],17,-1502002290); b=md5_ff(b,c,d,a,x[i+15],22,1236535329);
a=md5_gg(a,b,c,d,x[i+1],5,-165796510); d=md5_gg(d,a,b,c,x[i+6],9,-1069501632); c=md5_gg(c,d,a,b,x[i+11],14,643717713); b=md5_gg(b,c,d,a,x[i+0],20,-373897302);
a=md5_gg(a,b,c,d,x[i+5],5,-701558691); d=md5_gg(d,a,b,c,x[i+10],9,38016083); c=md5_gg(c,d,a,b,x[i+15],14,-660478335); b=md5_gg(b,c,d,a,x[i+4],20,-405537848);
a=md5_gg(a,b,c,d,x[i+9],5,568446438); d=md5_gg(d,a,b,c,x[i+14],9,-1019803690); c=md5_gg(c,d,a,b,x[i+3],14,-187363961); b=md5_gg(b,c,d,a,x[i+8],20,1163531501);
a=md5_gg(a,b,c,d,x[i+13],5,-1444681467); d=md5_gg(d,a,b,c,x[i+2],9,-51403784); c=md5_gg(c,d,a,b,x[i+7],14,1735328473); b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);
a=md5_hh(a,b,c,d,x[i+5],4,-378558); d=md5_hh(d,a,b,c,x[i+8],11,-2022574463); c=md5_hh(c,d,a,b,x[i+11],16,1839030562); b=md5_hh(b,c,d,a,x[i+14],23,-35309556);
a=md5_hh(a,b,c,d,x[i+1],4,-1530992060); d=md5_hh(d,a,b,c,x[i+4],11,1272893353); c=md5_hh(c,d,a,b,x[i+7],16,-155497632); b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);
a=md5_hh(a,b,c,d,x[i+13],4,681279174); d=md5_hh(d,a,b,c,x[i+0],11,-358537222); c=md5_hh(c,d,a,b,x[i+3],16,-722521979); b=md5_hh(b,c,d,a,x[i+6],23,76029189);
a=md5_hh(a,b,c,d,x[i+9],4,-640364487); d=md5_hh(d,a,b,c,x[i+12],11,-421815835); c=md5_hh(c,d,a,b,x[i+15],16,530742520); b=md5_hh(b,c,d,a,x[i+2],23,-995338651);
a=md5_ii(a,b,c,d,x[i+0],6,-198630844); d=md5_ii(d,a,b,c,x[i+7],10,1126891415); c=md5_ii(c,d,a,b,x[i+14],15,-1416354905); b=md5_ii(b,c,d,a,x[i+5],21,-57434055);
a=md5_ii(a,b,c,d,x[i+12],6,1700485571); d=md5_ii(d,a,b,c,x[i+3],10,-1894986606); c=md5_ii(c,d,a,b,x[i+10],15,-1051523); b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);
a=md5_ii(a,b,c,d,x[i+8],6,1873313359); d=md5_ii(d,a,b,c,x[i+15],10,-30611744); c=md5_ii(c,d,a,b,x[i+6],15,-1560198380); b=md5_ii(b,c,d,a,x[i+13],21,1309151649);
a=md5_ii(a,b,c,d,x[i+4],6,-145523070); d=md5_ii(d,a,b,c,x[i+11],10,-1120210379); c=md5_ii(c,d,a,b,x[i+2],15,718787259); b=md5_ii(b,c,d,a,x[i+9],21,-343485551);
a=safe_add(a,olda); b=safe_add(b,oldb); c=safe_add(c,oldc); d=safe_add(d,oldd);
}
return Array(a,b,c,d);
}

function md5_cmn(q,a,b,x,s,t) { return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b); }
function md5_ff(a,b,c,d,x,s,t) { return md5_cmn((b&c)|((~b)&d),a,b,x,s,t); }
function md5_gg(a,b,c,d,x,s,t) { return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t); }
function md5_hh(a,b,c,d,x,s,t) { return md5_cmn(b^c^d,a,b,x,s,t); }
function md5_ii(a,b,c,d,x,s,t) { return md5_cmn(c^(b|(~d)),a,b,x,s,t); }
function safe_add(x,y) { var lsw=(x&0xFFFF)+(y&0xFFFF); var msw=(x>>16)+(y>>16)+(lsw>>16); return (msw<<16)|(lsw&0xFFFF); }
function bit_rol(num,cnt) { return (num<<cnt)|(num>>>(32-cnt)); }
function str2binl(str) { var bin=Array(); var mask=(1<<8)-1; for(var i=0;i<str.length*8;i+=8) bin[i>>5]|=(str.charCodeAt(i/8)&mask)<<(i%32); return bin; }
function utf8_en(str){return unescape(encodeURIComponent(str));}

function gp2_generate_passwd(Passwd,Len) {
var i=0;
while(i<10||!(gp2_check_passwd(Passwd.substring(0,Len)))) {
Passwd=b64_md5(Passwd);
i++;
}
return Passwd.substring(0,Len);
}

function gp2_check_passwd(Passwd) {
return (Passwd.search(/[a-z]/)===0&&Passwd.search(/[0-9]/)>0&&Passwd.search(/[A-Z]/)>0)?true:false;
}

function gp2_validate_length(Len) {
Len=(parseInt(Len))?parseInt(Len):10;
if(Len<4) {
Len=4;
} else if(Len>24) {
Len=24;
}
return Len;
}

function gp2_process_uri(URI,DisableTLD) {

URI=URI.toLowerCase();
var HostNameIsolator=new RegExp('^(http|https|ftp|ftps|webdav|gopher|rtsp|irc|nntp|pop|imap|smtp)://([^/:]+)');
var HostName=URI.match(HostNameIsolator);

if(HostName&&HostName[2]!=null) {
HostName=HostName[2];
} else {
HostNameIsolator=new RegExp('^([^/:]+)');
HostName=URI.match(HostNameIsolator);
HostName=(HostName[1]!=null)?HostName[1]:URI;
}

HostNameIsolator=new RegExp('^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$');
HostName=(HostName.match(HostNameIsolator))?[HostName]:HostName.split('.');

if(HostName[2]==null||DisableTLD) {
URI=HostName.join('.');
} else {
URI=HostName[HostName.length-2]+'.'+HostName[HostName.length-1];
var TLDList=['ac.ac','com.ac','edu.ac','gov.ac','net.ac','mil.ac','org.ac','com.ae','net.ae','org.ae','gov.ae','ac.ae','co.ae','sch.ae','pro.ae','com.ai','org.ai','edu.ai','gov.ai','com.ar','net.ar','org.ar','gov.ar','mil.ar','edu.ar','int.ar','co.at','ac.at','or.at','gv.at','priv.at','com.au','gov.au','org.au','edu.au','id.au','oz.au','info.au','net.au','asn.au','csiro.au','telememo.au','conf.au','otc.au','id.au','com.az','net.az','org.az','com.bb','net.bb','org.bb','ac.be','belgie.be','dns.be','fgov.be','com.bh','gov.bh','net.bh','edu.bh','org.bh','com.bm','edu.bm','gov.bm','org.bm','net.bm','adm.br','adv.br','agr.br','am.br','arq.br','art.br','ato.br','bio.br','bmd.br','cim.br','cng.br','cnt.br','com.br','coop.br','ecn.br','edu.br','eng.br','esp.br','etc.br','eti.br','far.br','fm.br','fnd.br','fot.br','fst.br','g12.br','ggf.br','gov.br','imb.br','ind.br','inf.br','jor.br','lel.br','mat.br','med.br','mil.br','mus.br','net.br','nom.br','not.br','ntr.br','odo.br','org.br','ppg.br','pro.br','psc.br','psi.br','qsl.br','rec.br','slg.br','srv.br','tmp.br','trd.br','tur.br','tv.br','vet.br','zlg.br','com.bs','net.bs','org.bs','ab.ca','bc.ca','mb.ca','nb.ca','nf.ca','nl.ca','ns.ca','nt.ca','nu.ca','on.ca','pe.ca','qc.ca','sk.ca','yk.ca','gc.ca','co.ck','net.ck','org.ck','edu.ck','gov.ck','com.cn','edu.cn','gov.cn','net.cn','org.cn','ac.cn','ah.cn','bj.cn','cq.cn','gd.cn','gs.cn','gx.cn','gz.cn','hb.cn','he.cn','hi.cn','hk.cn','hl.cn','hn.cn','jl.cn','js.cn','ln.cn','mo.cn','nm.cn','nx.cn','qh.cn','sc.cn','sn.cn','sh.cn','sx.cn','tj.cn','tw.cn','xj.cn','xz.cn','yn.cn','zj.cn','arts.co','com.co','edu.co','firm.co','gov.co','info.co','int.co','nom.co','mil.co','org.co','rec.co','store.co','web.co','ac.cr','co.cr','ed.cr','fi.cr','go.cr','or.cr','sa.cr','com.cu','net.cu','org.cu','ac.cy','com.cy','gov.cy','net.cy','org.cy','co.dk','art.do','com.do','edu.do','gov.do','gob.do','org.do','mil.do','net.do','sld.do','web.do','com.dz','org.dz','net.dz','gov.dz','edu.dz','ass.dz','pol.dz','art.dz','com.ec','k12.ec','edu.ec','fin.ec','med.ec','gov.ec','mil.ec','org.ec','net.ec','com.ee','pri.ee','fie.ee','org.ee','med.ee','com.eg','edu.eg','eun.eg','gov.eg','net.eg','org.eg','sci.eg','com.er','net.er','org.er','edu.er','mil.er','gov.er','ind.er','com.es','org.es','gob.es','edu.es','nom.es','com.et','gov.et','org.et','edu.et','net.et','biz.et','name.et','info.et','ac.fj','com.fj','gov.fj','id.fj','org.fj','school.fj','com.fk','ac.fk','gov.fk','net.fk','nom.fk','org.fk','asso.fr','nom.fr','barreau.fr','com.fr','prd.fr','presse.fr','tm.fr','aeroport.fr','assedic.fr','avocat.fr','avoues.fr','cci.fr','chambagri.fr','chirurgiens-dentistes.fr','experts-comptables.fr','geometre-expert.fr','gouv.fr','greta.fr','huissier-justice.fr','medecin.fr','notaires.fr','pharmacien.fr','port.fr','veterinaire.fr','com.ge','edu.ge','gov.ge','mil.ge','net.ge','org.ge','pvt.ge','co.gg','org.gg','sch.gg','ac.gg','gov.gg','ltd.gg','ind.gg','net.gg','alderney.gg','guernsey.gg','sark.gg','com.gr','edu.gr','gov.gr','net.gr','org.gr','com.gt','edu.gt','net.gt','gob.gt','org.gt','mil.gt','ind.gt','com.gu','edu.gu','net.gu','org.gu','gov.gu','mil.gu','com.hk','net.hk','org.hk','idv.hk','gov.hk','edu.hk','co.hu','2000.hu','erotika.hu','jogasz.hu','sex.hu','video.hu','info.hu','agrar.hu','film.hu','konyvelo.hu','shop.hu','org.hu','bolt.hu','forum.hu','lakas.hu','suli.hu','priv.hu','casino.hu','games.hu','media.hu','szex.hu','sport.hu','city.hu','hotel.hu','news.hu','tozsde.hu','tm.hu','erotica.hu','ingatlan.hu','reklam.hu','utazas.hu','ac.id','co.id','go.id','mil.id','net.id','or.id','co.il','net.il','org.il','ac.il','gov.il','k12.il','muni.il','idf.il','co.im','net.im','org.im','ac.im','lkd.co.im','gov.im','nic.im','plc.co.im','co.in','net.in','ac.in','ernet.in','gov.in','nic.in','res.in','gen.in','firm.in','mil.in','org.in','ind.in','ac.ir','co.ir','gov.ir','id.ir','net.ir','org.ir','sch.ir','ac.je','co.je','net.je','org.je','gov.je','ind.je','jersey.je','ltd.je','sch.je','com.jo','org.jo','net.jo','gov.jo','edu.jo','mil.jo','ad.jp','ac.jp','co.jp','go.jp','or.jp','ne.jp','gr.jp','ed.jp','lg.jp','net.jp','org.jp','gov.jp','hokkaido.jp','aomori.jp','iwate.jp','miyagi.jp','akita.jp','yamagata.jp','fukushima.jp','ibaraki.jp','tochigi.jp','gunma.jp','saitama.jp','chiba.jp','tokyo.jp','kanagawa.jp','niigata.jp','toyama.jp','ishikawa.jp','fukui.jp','yamanashi.jp','nagano.jp','gifu.jp','shizuoka.jp','aichi.jp','mie.jp','shiga.jp','kyoto.jp','osaka.jp','hyogo.jp','nara.jp','wakayama.jp','tottori.jp','shimane.jp','okayama.jp','hiroshima.jp','yamaguchi.jp','tokushima.jp','kagawa.jp','ehime.jp','kochi.jp','fukuoka.jp','saga.jp','nagasaki.jp','kumamoto.jp','oita.jp','miyazaki.jp','kagoshima.jp','okinawa.jp','sapporo.jp','sendai.jp','yokohama.jp','kawasaki.jp','nagoya.jp','kobe.jp','kitakyushu.jp','utsunomiya.jp','kanazawa.jp','takamatsu.jp','matsuyama.jp','com.kh','net.kh','org.kh','per.kh','edu.kh','gov.kh','mil.kh','ac.kr','co.kr','go.kr','ne.kr','or.kr','pe.kr','re.kr','seoul.kr','kyonggi.kr','com.kw','net.kw','org.kw','edu.kw','gov.kw','com.la','net.la','org.la','com.lb','org.lb','net.lb','edu.lb','gov.lb','mil.lb','com.lc','edu.lc','gov.lc','net.lc','org.lc','com.lv','net.lv','org.lv','edu.lv','gov.lv','mil.lv','id.lv','asn.lv','conf.lv','com.ly','net.ly','org.ly','co.ma','net.ma','org.ma','press.ma','ac.ma','com.mk','com.mm','net.mm','org.mm','edu.mm','gov.mm','com.mn','org.mn','edu.mn','gov.mn','museum.mn','com.mo','net.mo','org.mo','edu.mo','gov.mo','com.mt','net.mt','org.mt','edu.mt','tm.mt','uu.mt','com.mx','net.mx','org.mx','gob.mx','edu.mx','com.my','org.my','gov.my','edu.my','net.my','com.na','org.na','net.na','alt.na','edu.na','cul.na','unam.na','telecom.na','com.nc','net.nc','org.nc','ac.ng','edu.ng','sch.ng','com.ng','gov.ng','org.ng','net.ng','gob.ni','com.ni','net.ni','edu.ni','nom.ni','org.ni','com.np','net.np','org.np','gov.np','edu.np','ac.nz','co.nz','cri.nz','gen.nz','geek.nz','govt.nz','iwi.nz','maori.nz','mil.nz','net.nz','org.nz','school.nz','com.om','co.om','edu.om','ac.om','gov.om','net.om','org.om','mod.om','museum.om','biz.om','pro.om','med.om','com.pa','net.pa','org.pa','edu.pa','ac.pa','gob.pa','sld.pa','edu.pe','gob.pe','nom.pe','mil.pe','org.pe','com.pe','net.pe','com.pg','net.pg','ac.pg','com.ph','net.ph','org.ph','mil.ph','ngo.ph','aid.pl','agro.pl','atm.pl','auto.pl','biz.pl','com.pl','edu.pl','gmina.pl','gsm.pl','info.pl','mail.pl','miasta.pl','media.pl','mil.pl','net.pl','nieruchomosci.pl','nom.pl','org.pl','pc.pl','powiat.pl','priv.pl','realestate.pl','rel.pl','sex.pl','shop.pl','sklep.pl','sos.pl','szkola.pl','targi.pl','tm.pl','tourism.pl','travel.pl','turystyka.pl','com.pk','net.pk','edu.pk','org.pk','fam.pk','biz.pk','web.pk','gov.pk','gob.pk','gok.pk','gon.pk','gop.pk','gos.pk','edu.ps','gov.ps','plo.ps','sec.ps','com.pt','edu.pt','gov.pt','int.pt','net.pt','nome.pt','org.pt','publ.pt','com.py','net.py','org.py','edu.py','com.qa','net.qa','org.qa','edu.qa','gov.qa','asso.re','com.re','nom.re','com.ro','org.ro','tm.ro','nt.ro','nom.ro','info.ro','rec.ro','arts.ro','firm.ro','store.ro','www.ro','com.ru','net.ru','org.ru','gov.ru','pp.ru','com.sa','edu.sa','sch.sa','med.sa','gov.sa','net.sa','org.sa','pub.sa','com.sb','net.sb','org.sb','edu.sb','gov.sb','com.sd','net.sd','org.sd','edu.sd','sch.sd','med.sd','gov.sd','tm.se','press.se','parti.se','brand.se','fh.se','fhsk.se','fhv.se','komforb.se','kommunalforbund.se','komvux.se','lanarb.se','lanbib.se','naturbruksgymn.se','sshn.se','org.se','pp.se','com.sg','net.sg','org.sg','edu.sg','gov.sg','per.sg','com.sh','net.sh','org.sh','edu.sh','gov.sh','mil.sh','gov.st','saotome.st','principe.st','consulado.st','embaixada.st','org.st','edu.st','net.st','com.st','store.st','mil.st','co.st','com.sv','org.sv','edu.sv','gob.sv','red.sv','com.sy','net.sy','org.sy','gov.sy','ac.th','co.th','go.th','net.th','or.th','com.tn','net.tn','org.tn','edunet.tn','gov.tn','ens.tn','fin.tn','nat.tn','ind.tn','info.tn','intl.tn','rnrt.tn','rnu.tn','rns.tn','tourism.tn','com.tr','net.tr','org.tr','edu.tr','gov.tr','mil.tr','bbs.tr','k12.tr','gen.tr','co.tt','com.tt','org.tt','net.tt','biz.tt','info.tt','pro.tt','int.tt','coop.tt','jobs.tt','mobi.tt','travel.tt','museum.tt','aero.tt','name.tt','gov.tt','edu.tt','nic.tt','us.tt','uk.tt','ca.tt','eu.tt','es.tt','fr.tt','it.tt','se.tt','dk.tt','be.tt','de.tt','at.tt','au.tt','co.tv','com.tw','net.tw','org.tw','edu.tw','idv.tw','gov.tw','com.ua','net.ua','org.ua','edu.ua','gov.ua','ac.ug','co.ug','or.ug','go.ug','co.uk','me.uk','org.uk','edu.uk','ltd.uk','plc.uk','net.uk','sch.uk','nic.uk','ac.uk','gov.uk','nhs.uk','police.uk','mod.uk','dni.us','fed.us','com.uy','edu.uy','net.uy','org.uy','gub.uy','mil.uy','com.ve','net.ve','org.ve','co.ve','edu.ve','gov.ve','mil.ve','arts.ve','bib.ve','firm.ve','info.ve','int.ve','nom.ve','rec.ve','store.ve','tec.ve','web.ve','co.vi','net.vi','org.vi','com.vn','biz.vn','edu.vn','gov.vn','net.vn','org.vn','int.vn','ac.vn','pro.vn','info.vn','health.vn','name.vn','com.vu','edu.vu','net.vu','org.vu','de.vu','ch.vu','fr.vu','com.ws','net.ws','org.ws','gov.ws','edu.ws','ac.yu','co.yu','edu.yu','org.yu','com.ye','net.ye','org.ye','gov.ye','edu.ye','mil.ye','ac.za','alt.za','bourse.za','city.za','co.za','edu.za','gov.za','law.za','mil.za','net.za','ngo.za','nom.za','org.za','school.za','tm.za','web.za','co.zw','ac.zw','org.zw','gov.zw','eu.org','au.com','br.com','cn.com','de.com','de.net','eu.com','gb.com','gb.net','hu.com','no.com','qc.com','ru.com','sa.com','se.com','uk.com','uk.net','us.com','uy.com','za.com','dk.org','tel.no','fax.nr','mob.nr','mobil.nr','mobile.nr','tel.nr','tlf.nr','e164.arpa'];
for(var i=0; i<TLDList.length; i++) {
if(URI==TLDList[i]) {
URI=HostName[HostName.length-3]+'.'+URI;
break;
}
}
}

return URI;

}

function SGPLocal() {

var Passwd=document.getElementById('Passwd').value;
var DisableTLD=(document.getElementById('DisableTLD').checked)?true:false;
var Domain=document.getElementById('Domain').value;
var Len=gp2_validate_length(document.getElementById('Len').value);

if(Passwd&&Domain) {
Domain=gp2_process_uri(Domain,DisableTLD);
document.getElementById('GenPasswd').value=gp2_generate_passwd(Passwd+':'+Domain,Len);
document.getElementById('Domain').value=Domain;
document.getElementById('Len').value=Len;
}

return false;

}

</script>

Гемор какой)) мне проще по-старинке. поменял пароль — 2-3 дня постоянного ввода пароля при разблокировке (по бумажке) компа — пароль запомнен)
с каждым разом просто будет впадлу лезть в айфон в заметки и будут попытки ввести пароль без подсказки.
зы. пароли — минимум 8 знаков. большие/маленькие буквы и цифры. пароль сгенерён генератором паролей)
а потом отпуск и задница: ) вот на прошлой неделе так было: (
Расскажу свой метод придумывания паролей — беру любую энциклопедию и выбираю любые слова, содержащие более 8 символов, буквы х, ъ, б, ю, э в английской раскладке и получаю пароли. К примеру последний раз взял книжку комнатных растений — получилось следующее — {djqysqGfgjhjnybr — ХвойныйПапоротник
{kjhjabnev
Как-то лабы делали для получения 4мя итерациями сложных запоминающихся паролей вида:
step1: bedonopapano
step2: BedonopapAno
step3: Bed0n0papAno
step4: Bed0n0p@pAno

step1: likohusinomu
step2: likoHusinoMu
step3: l1k0HusinoMu
step4: |1k0Hu$inoMu

step1: zudazabizuga
step2: zudazAbizuGa
step3: 7uda7AbizuGa
step4: 7ud@7Ab!zuGa

step1: tezedusemegu
step2: tEzeDusemegu
step3: tE7eDu2emegu
step4: tE7eDu2emegu

Исходники — pastebin.com/qb5qgUqQ
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.