Pull to refresh

Генерация сложных паролей простыми фразами

Reading time1 min
Views11K
Любите ли вы запоминать пароли вида:

qG4'P}:ZGKq?
0[KO!,7`@;6F
]xQ1H]mxLPa#
?

Я — терпеть не могу! Особенно с учётом того, что периодически все эти пароли нужно менять и для каждого сервиса отдельно, а их столько, что голова кругом идёт! Где тут всё запомнишь?

Вариантов несколько:
а) задавать простые пароли и боятся что их кто нибудь подберёт/угадает;
б) задавать сложные пароли (см. выше) и таскать их всё время с собой на бумажке (что тоже очень небезопасно!);
в) использовать метод шифрования простых фраз штатными средствами в системе.

Именно третий пункт я и затрону. Сей метод сводится к следующему (примитивный пример):

%echo "простая_фраза" | md5

На выходе вы получите криптостойкий хеш вида: b3d0da41b07d550d97d579bd642d7dbf. Однако это самый примитивный пример. Можно использовать md5 в связке с sha1/uuencode/openssl и вообще со всем что вам только в голову придёт! Так же можно, например, брать хеш с хеша определённое кол-во раз. Только хотелось бы предупредить, что длину пароля необходимо урезать (!), т.к. если размер будет известен — криптостойкость падает в разы.

Представляю вашему вниманию простой скрипт для реализации сего деяния. Назвал я его «genspass» (от GenerateS encoded Password), написан на классическом unix shell (разумеется совместим с bash/zsh и прочими).
Программа работает просто: получает ключевую фразу (слово, символ — не важно), переводит в MD5, далее в BASE64 и урезает до назначенной длины (задаётся в скрипте), после чего на экран выводится результат.
Пример: вводим 123 получаем YmExZjI1MTFmYzM, копируем и вставляем куда нужно.

Последнюю версию скрипта всегда можно получить по этому адресу.
Tags:
Hubs:
+19
Comments147

Articles