W Arch Linux, jak mogę utworzyć pojedynczy hash md5 dla hasła za pomocą wiersza poleceń? Oczywiście zdaję sobie sprawę z tego, że dostępne są bezpieczne algorytmy haszujące hasła, których md5 nie jest, ale to tylko część eksperymentu.
arch-linux
hashing
md5
Paradoks
źródło
źródło
Odpowiedzi:
Po prostu
echo
do md5sum.Pierwszy wynik uwzględnia znak nowej linii na końcu łańcucha przed wygenerowaniem skrótu.
W przeciwnym razie, jak stwierdza @AFH , jeśli nie chcesz mieć znaku nowej linii, wykonaj następujące czynności:
źródło
echo -n 'P@ssword1' | md5sum
. W haśle umieściłem cudzysłowy na wypadek, gdyby zawierały znaki interpretowane przez powłokę; Użyłem pojedynczych cudzysłowów, aby zahamować ekspansję, jeśli istnieje$
.P@ssword1
, aleP@ssword1<Newline>
. Użyjecho -n P@ssword1 | md5sum
zamiast tego.Żadna z odpowiedzi nie wspomina, że za pomocą
echo -n 'password' | …
, będziesz zapisywać hasło do trwałej pamięci, a mianowicie do swojej historii.Można tego uniknąć, w zależności od powłoki, poprzedzając polecenie spacją (przetestuj to dla swojej powłoki). Przeczytaj dokumentację powłoki, w jaki sposób jest to obsługiwane.
Możesz też użyć
md5sum
bezpośrednio, uruchamiając sięmd5sum
, wpisując hasło, a następnie Ctrl+D. Nie wciskaj Entermiędzy hasłem i Ctrl+D, chyba że chcesz, aby hash zawierał nowy wiersz.źródło
8-O
(ile otworów bezpieczeństwa otwiera ...). BTW, jeśli zmienna$HISTCONTROL
jest ustawiona na ignorowanie lub ignorowanie obu poleceń wprowadzonych z odstępem wiodącym, nie zostaną zapisane w historii ... Niemniej jednak zawsze dobrym pomysłem jest przetestowanie jej bezpośrednio. (+1 ponownie :-)) ...Oto przykład użycia openssl
Openssl implementuje kilka różnych algorytmów mieszających, jeśli któregoś dnia potrzebujesz innego.
źródło
Wygląda na to, że wszyscy sugerują używanie
echo
- przynajmniej przez większość czasu, na szczęście, z-n
, co łagodzi jeden z jego problemów (że drukuje nowy wiersz na końcu).Ale
echo
niekoniecznie jest konsekwentny. Ma wiele dziwnych zachowań, o których należy pamiętać, i może być niezgodny między systemami. Lepiej użyćprintf
zamiast tego .Dlatego powinieneś używać
Dzięki
printf
, jeśli chcesz nowy wiersz na końcu, musisz jawnie go dodać:zamiast prosić o nieotrzymanie go (i mam nadzieję, że
echo
działa tak samo w systemie, na którym to działa w późniejszym czasie):Aby rozwinąć kwestię dziwactw, o
echo
których wspomniałem powyżej, oto kilka:-n
,echo
aby nie przerywać produkcji nową linią, ale niektóre mogą tego nie robić. A jeśli chcesz wydrukować-n
? Niektóre implementacje mogą się różnić w zależności od ustawień w powłoce lub środowisku.-n
lub którykolwiek z jego argumentów zawiera ukośniki odwrotne.Odpowiedzi na powyższe pytanie dotyczące używania printf zamiast echa zawierają jeszcze kilka innych, a także dalsze linki, aby przeczytać więcej, jeśli jesteś ciekawy.
źródło
Pytanie sugeruje mi coś innego, więc dla kompletności:
Istnieje oparta na MD5 metoda mieszania hasła solonego, która zastąpiła oryginalną metodę crypt () opartą na DES do użycia w
/etc/shadow
. Zostało to zastąpione nowszymi rzeczami, ale jeśli kiedykolwiek spotkasz się z „hashowaniem hasła MD5” na wolności, może odnosić się do tego, a nie zwykłego MD5.Te skróty oparte na MD5 są oznaczone prefiksem
$1$
i można je obliczyć za pomocąopenssl passwd -1
źródło
Możesz to łatwo zrobić za pomocą
echo
imd5sum
:źródło
-n
echo
echo -n lolwut | md5sum
05a208028929fd77cfb5b08096a837df
echo lolwut | md5sum
f291ceceddd9e13a0ab68cf1829ef583