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)
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/.