Şifreleri toplamak için kullanılan karma algoritması nasıl bulunur?


11

Ben çalışma şifresi var ve karma (/ etc / passwd) görebilirsiniz. Bir eşleşme bulana kadar farklı algoritmaları manuel olarak denemeden, şifreyi hash etmek için kullanılan karma algoritmayı nasıl bulabilirim?


1
Hangi Unix varyantını kullanıyorsunuz?
Kusalananda

3
Bir karmaşayı görebildiğine çok şaşırdım /etc/passwd. Tüm Unix / Linux varyantlarının /etc/shadowyıllar önce bölünmüş olduğunu düşündüm . (Bu tür sistemlerin hala karmaları desteklediğini passwdbiliyorum, ancak onları artık oraya koyan herhangi bir yardımcı program bilmiyorum. Gömülü bir sistem, belki?
roaima

Bu OpenWrt Backfire 10.03. Hashler hala /etc/passwdburada saklanıyor . Ancak bu sorunun konusunu değiştirmez. Yapar?
Dorin Botan

1
Sadece kayıt için: BSD'lerin iki Berkeley DB dosyası var, roaima. Hala bölünmüş, ama değil /etc/shadowve bu isimle hiçbir dosyaları yok.
JdeBP

Yanıtlar:


27

Bu, 'ın manpage veya ' s aracılığıyla bulabileceğiniz crypt(3)'manpage' belgesinde belgelenmiştir . Bu bağlantılar modern Linux tabanlı sistemler için uygundur; açıklama var: shadow(5)passwd(5)

Eğer tuz "$ karakterler ile başlayan bir karakter dizesidir id isteğe bağlı olarak "$" ile sonlandırılmış bir dize izledi $", sonuç forma sahiptir:

$id$salt$encrypted

id , DES yerine kullanılan şifreleme yöntemini tanımlar ve ardından parola dizesinin geri kalanının nasıl yorumlanacağını belirler. Aşağıdaki id değerleri desteklenir:

ID  | Method
─────────────────────────────────────────────────────────
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)

Olarak da bilinen Blowfish, bcryptaynı zamanda önekleri ile tanımlanan 2, 2b, 2xve 2y(bakınız PassLib belgelerine ).

Eğer bir karma şifre yukarıdaki formatta saklanırsa, kimliğe bakarak kullanılan algoritmayı bulabilirsiniz ; aksi takdirde cryptvarsayılan DES algoritması (13 karakterli karma) veya “büyük” cryptDES (128 karakterlik parolaları destekleyecek şekilde, uzunluğu 178 karaktere kadar karma) veya BSDI genişletilmiş DES ( _önek ile) ardından 19 karakterlik bir karma).

Bazı dağıtımlar , birkaç yöntemi daha destekleyen ve belgeleyen libxcrypt kullanır :

  • y: yescrypt
  • gy: gost-yescrypt
  • 7: kazıma
  • sha1: sha1crypt
  • md5: SunMD5

Diğer platformlar diğer algoritmaları destekler, bu yüzden cryptoradaki sayfayı kontrol edin . Örneğin, OpenBSD encrypt(3) yalnızca kullanıyor tanımlar Blowfish destekler id “2b”.


2
DES tabanlı şifreler BTW'dir ve her zaman 13 karakter uzunluğundadır ve alfasayısal karakterlerin yanı sıra .ve /. İlk 2 karakter tuz ve diğer 11 karakter bir karma değerdir (bir çeşit). Ve cryptdaha güçlü bir şifre seçerek telafi edemeyeceğiniz kadar zayıf olan desteklenen algoritmalardan sadece biridir .
kasperd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.