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)