Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       crypt - szyfrowanie danych i haseł

SKŁADNIA

       #define _XOPEN_SOURCE
       #include <unistd.h>

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

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       crypt  to funkcja szyfrująca hasła. Opiera się ona na algorytmie Data Encryption Standard,
       z pewnymi modyfikacjami mającymi (między  innymi)  zapobiec  próbom  sprzętowego  złamania
       klucza.

       Argument key to hasło wpisane przez użytkownika.

       Argument  salt  to  łańcuch  dwóch  znaków z zestawu [azAZ09./].  Ten łańcuch umożliwia
       kodowanie jednego hasła na 4096 różnych sposobów.

       Poprzez pobranie 7 najmniej znaczących bitów pierwszych ośmiu znaków łańcucha key tworzony
       jest  56-bitowy  klucz.  Ten  klucz  jest używany do zakodowania z góry ustalonego łańucha
       znaków (zwykle jest to łańcuch składający się z samych zer). Zwracana wartość wskazuje  na
       zaszyfrowane hasło, serię 13 znaków ASCII (pierwsze dwa znaki reprezentują argument salt).
       Zwracana wartość wskazuje na statyczną daną, która jest nadpisywana przy każdym  wywołaniu
       funkcji.

       Uwaga:  Istnieje  2**56  ,  czyli  7.2e16, możliwych wartości. Możliwe jest przeszukiwanie
       przestrzeni  kluczy  z  użyciem  komputerów  z  przetwarzaniem  równoległym.  Dostępne  są
       programy,  takie jak crack(1), przeszukujące obszar kluczy, które są często wykorzystywane
       przez ludzi jako hasła. Tak więc hasło nie powinno zawierać powszechnych wyrazów  i  nazw.
       Zalecane jest używanie programu passwd(1), który podczas zmiany lub wyboru hasła sprawdza,
       czy nie jest łatwe do złamania.

       Sam algorytm DES ma kilka wad, dlatego crypt(3)  jest  złym  rozwiązaniem  dla  zastosowań
       innych  niż  autoryzacja  za pomocą hasła.  Jeśli planujesz wykorzystać crypt(3) dla celów
       kryptograficznych,  nie  rób  tego.  Zdobądź  dobrą  książkę  o  szyfrowaniu  i  jedną   z
       ogólnodostępnych bibliotek DES.

WARTOŚĆ ZWRACANA

       Zwracany  jest wskaźnik do zaszyfrowanego hasła.  W przypadku wywstąpienia błędu, zwracana
       jest wartość NULL.

BŁĘDY

       ENOSYS Funkcja  crypt  nie  została  zaimplementowana,  prawdopodobnie   ze   względu   na
              ograniczenia eksportowe Stanów Zjednoczonych.

ROZSZERZENIE GNU

       Wersja  tej  funkcji zawarta w glibc2 posiada następujące dodatkowe własności.  Jeśli salt
       jest łańcuchem znaków rozpoczynającym  się  od  znaków  "$1$",  po  których  następuje  co
       najwyżej  osiem  znaków  i,  opcjonalnie,  zakończonym "$", to zamiast używać maszyny DES,
       funkcja crypt zawarta w glibc używa algorytmu opartego na MD5, wyprowadzając do 34  bajtów
       w  postaci  "$1$<łańcuch>$",  gdzie  "<łańcuch>"  składa  się z wspomnianych wcześniej nie
       więcej niż 8 znaków występujących po "$1$" w salt, po których następują 22 znaki  należące
       do zbioru [azAZ09./].  Cały klucz jest tu znaczący (zamiast tylko pierwszych 8 bajtów).

       Programy korzystające z tej funkcji muszą być konsolidowane z -lcrypt.

ZGODNE Z

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

ZOBACZ TAKŻE

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

INFORMACJE O TŁUMACZENIU

       Powyższe  tłumaczenie  pochodzi  z nieistniejącego już Projektu Tłumaczenia Manuali i może
       nie być aktualne. W  razie  zauważenia  różnic  między  powyższym  opisem  a  rzeczywistym
       zachowaniem  opisywanego  programu  lub  funkcji,  prosimy  o  zapoznanie się z oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 crypt

       Prosimy o pomoc w aktualizacji stron man - więcej informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.

                                            2001-12-23                                   CRYPT(3)