Własny generator haseł losowych

Każdy z nas administratorów wie, że bez haseł ani rusz. Zakładamy konta dla naszych użytkowników, ale czasem brakuje nam pomysłów na dobre hasło. Zachodzi więc często potrzeba wygenerować je w sposób losowy. Jako, że ja nie ufam narzędziom firm trzecich, postanowiłem robić to samemu.

I tak w Linuksie przychodzi nam z pomocą narzędzie mktemp-gnu, a jego użycie jest następujące:

# mktemp-gnu -U XXXXXXXX

Gdzie XXXXXXXX to ilość znaków jakie chcemy wygenerować. Dla hasła o długości 8 znaków to XXXXXXXX, dla 6 znaków to XXXXXX.

W prosty sposób da się osiągnąć ten sam efekt w PowerShell:
$alphanumeric = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'.ToCharArray()
function RandomString([int] $len, [Array] $charSet = $alphanumeric)
{
[String]::Join('', (1..$len | % { $charSet | Get-Random }))
}
Clear
RandomString $args[0]

Skrypt zapisujemy jako np. gen-passwd.ps1 i uruchamiamy z liczbą odpowiednią dla ilości znaków:

PS C:\> .\gen-passwd.ps1 14

W taki sposób, nie musimy już więcej korzystać z innych narzędzi do generowania haseł. Co innego ich przechowywanie, ale o tym poczytacie w przyszłości.

Może ktoś z Was ma inne pomysły na generowanie haseł? Zachęcam do podzielenia się Waszą kreatywnością w komentarzach.

 

Piotr Berent

Piotr Berent od 2002 w pocie czoła pracujący w środowisku IT, obecnie freelancer - Inżynier Systemowy. Entuzjasta wirtualizacji, automatyzacji i rozwiązań opartych o narzędzia open-source.

Przeczytaj także...

3 komentarze

  1. gmeger napisał(a):

    To ja przytoczę znaną anegdotkę: Jak wygenerować losowy ciąg znaków w linuksie itp.? Włączyć laikowi vi i powiedzieć żeby z niego wyszedł 🙂

  2. Dariusz Góra napisał(a):

    Idąc krok dalej można by dopisać kilka dodatkowych warunków aby spełniać wymagania firmowych polityk bezpieczeństwa (znak specjalny, przynajmniej jedna wielka litera itp.), dopisać moduł współpracujący z AD i mamy darmowy „hasłoresetor” nadający unikalne hasła 🙂

Dodaj komentarz