ÝSÝM
- Provided by: manpages-tr (Version: 1.0.5.1-2)
- Report a bug
#define _XOPEN_SOURCE #include <unistd.h> void crypt (const char *parola, const char *tuz);
-lcrypt ile ilintileme gerektirir.
crypt parola þifreleme iþlevidir. Veri Þifreleme Standartý (Data Encryption Standard) algoritmasýna dayanýr, fakat anahtar tarama için tasarlanmýþ donanýmlara engel olmak için bir takým farklýlýklar içerir.
parola kullanýcýn girdiði paroladýr.
tuz ise, elemanlarý [a-zA-Z0-9./] kümesinden seçilen iki karakterli bir dizgedir. Bu dizge algoritmayý 4096 farklý ihtimalden biri ile karýþtýrmayý amaçlar.
parolanýn ilk sekiz karakterinden her birinin en düþük anlamlý 7 biti alýnarak 56 bitlik parola oluþturulur. Bu 56 bitlik parola tekrar tekrar bir dizgeyi (genellikle hepsi sýfýrlardan oluþan bir dizge) þifrelemede kullanýlýr. Dönüþ deðeri 13 karakterli bir ASCII dizgesi olan ve ilk iki karakteri tuzu temsil eden þifrelenmiþ paroladýr. Dönüþ deðeri, her iþlev çaðrýsýnda içeriði deðiþen statik bir veridir.
DES algoritmasý, crypt arayüzünün parola kimlik denetimi haricinde kullanýlmasýný kötü bir seçenek haline getirmiþtir.Eðer crypt arayüzünü kriptografi projenizde kullanmayý planlýyorsanýz, bundan vazgeçin: Þifreleme ve DES kütüphaneleri konusunda iyi bir kitap elde edinin.
Dönüþ deðeri þifrelenmiþ parolaya bir göstericidir. Hata durumunda, boþ gösterici döner.
Bu iþlevin glibc2 sürümü þu ek özelliklere sahiptir. Eðer tuz karakter dizisi, "$1$" karakterleri ile baþlar ve bunun ardýndan en fazla 8 karakter gelirse (ve tercihan "$" karakteri ile sonlandýrýlýrsa), bu durumda glib crypt iþlevi DES motoru yerine, MD5 algoritmasý kullanýlýr ve 34 bayta kadar çýktý verilir. Çýktý "$1$<dizge>$" biçimindedir. Burada dizge, 8 karaktere kadar tuz ve bunu takip eden [a-zA-Z0-9./] kümesinden seçilmiþ 22 bayttan oluþur. Burada bu anahtarýn bütünü anlamlýdýr (sadece ilk 8 baytý deðil).
Bu iþlevin kullanýldýðý yazýlýmlar derlenirken -lcrypt ile ilintilemelidir.
crypt() iþlevi SVID, X/OPEN, BSD 4.3 ve POSIX 1003.1-2001 uyumludur.
login(1), crypt(1), passwd(1), encrypt(3), getpass(3), passwd(5).
Emin Ýslam Tatlý <eminislam (at) web.de>, Nisan 2004