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

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 [a–zA–Z0–9./]. 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 [a–zA–Z0–9./]. 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)