Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       crypt - szyfrowanie danych i hasel

SK/LADNIA

       #define _XOPEN_SOURCE
       #include <unistd.h>

       char *crypt(const char *key, const char *salt);

OPIS

       crypt  to  funkcja  szyfrujca  hasla.  Opiera si ona na algorytmie Data
       Encryption Standard, z pewnymi  modyfikacjami  majcymi  (midzy  innymi)
       zapobiec probom sprztowego zlamania klucza.

       Argument key to haslo wpisane przez uytkownika.

       Argument  salt  to  lacuch  dwoch  znakow z zestawu [a-zA-Z0-9./].  Ten
       lacuch umoliwia kodowanie jednego hasla na 4096 ronych sposobow.

       Poprzez pobranie 7 najmniej  znaczcych  bitow  pierwszych  omiu  znakow
       lacucha  key  tworzony  jest  56-bitowy klucz. Ten klucz jest uywany do
       zakodowania z gory ustalonego laucha  znakow  (zwykle  jest  to  lacuch
       skladajcy  si  z  samych  zer). Zwracana warto wskazuje na zaszyfrowane
       haslo, seri 13 znakow ASCII (pierwsze dwa  znaki  reprezentuj  argument
       salt).  Zwracana warto wskazuje na statyczn dan, ktora jest nadpisywana
       przy kadym wywolaniu funkcji.

       Uwaga: Istnieje 2**56 , czyli 7.2e16,  moliwych  wartoci.  Moliwe  jest
       przeszukiwanie  przestrzeni kluczy z uyciem komputerow z przetwarzaniem
       rownoleglym. Dostpne  s  programy,  takie  jak  crack(1),  przeszukujce
       obszar kluczy, ktore s czsto wykorzystywane przez ludzi jako hasla. Tak
       wic haslo nie powinno zawiera powszechnych  wyrazow  i  nazw.  Zalecane
       jest  uywanie programu passwd(1), ktory podczas zmiany lub wyboru hasla
       sprawdza, czy nie jest latwe do zlamania.

       Sam algorytm DES ma kilka wad, dlatego crypt(3) jest  zlym  rozwizaniem
       dla  zastosowa  innych  ni  autoryzacja za pomoc hasla.  Jeli planujesz
       wykorzysta crypt(3) dla celow kryptograficznych, nie  rob  tego.  Zdobd
       dobr ksik o szyfrowaniu i jedn z ogolnodostpnych bibliotek DES.

WARTO ZWRACANA

       Zwracany jest wskanik do zaszyfrowanego hasla.  W przypadku wywstpienia
       bldu, zwracana jest warto NULL.

B/LDY

       ENOSYS Funkcja crypt nie zostala  zaimplementowana,  prawdopodobnie  ze
              wzgldu na ograniczenia eksportowe Stanow Zjednoczonych.

ROZSZERZENIE GNU

       Wersja  tej  funkcji  zawarta  w  glibc2  posiada  nastpujce  dodatkowe
       wlasnoci.  Jeli salt jest lacuchem znakow rozpoczynajcym si  od  znakow
       "$1$",  po  ktorych  nastpuje  co  najwyej osiem znakow i, opcjonalnie,
       zakoczonym "$", to zamiast uywa maszyny DES, funkcja  crypt  zawarta  w
       glibc  uywa  algorytmu  opartego  na  MD5,  wyprowadzajc do 34 bajtow w
       postaci "$1$<lacuch>$",  gdzie  "<lacuch>"  sklada  si  z  wspomnianych
       wczeniej  nie wicej ni 8 znakow wystpujcych po "$1$" w salt, po ktorych
       nastpuj 22 znaki nalece do zbioru [a-zA-Z0-9./].  Caly  klucz  jest  tu
       znaczcy (zamiast tylko pierwszych 8 bajtow).

       Programy korzystajce z tej funkcji musz by konsolidowane z -lcrypt.

ZGODNE Z

       SVID, X/OPEN, BSD 4.3, POSIX 1003.1-2001

ZOBACZ TAKE

       login(1), passwd(1), encrypt(3), getpass(3), passwd(5)

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.

                                  2001-12-23                          CRYPT(3)