Інформація про crypt
PHP функція crypt незворотньо хешує строку беручи за основу DES-шифрування. Сама по собі функція дає доволі слабке шифрування тому рекомендується використовувати так звану "сіль".
В системах, де функція crypt() підтримує не один DES, наступні константи доступності алгоритмів встановлюються в 0 або 1:
CRYPT_STD_DES - Стандартне DES-шифрування з 2-х символьною сіллю з алфавиту "./0-9A-Za-z""./0-9A-Za-z". Використання інших символів повалить crypt().
CRYPT_EXT_DES - Розширене DES-шифрування. "Сіль" - дев‘ятисимвольна строка, що починається з "_"(символа підкреслювання), за котрим йдуть 4 байти лічильника ітерації і 4 байти солі. Дані кодуються по 6 біт на символ. Значення від 0 до 63 кодуються як "./0-9A-Za-z". Використання інших символів повалить crypt().
CRYPT_MD5 - MD5-хешування з 12-символьною соллю, що починається з $1$
CRYPT_BLOWFISH - Blowfish-хешування з наступною соллю: "$2a$", "$2x$" або "$2y$", ваговий параметр з двух цифр, "$" і 22 цифри з алфавіту "./0-9A-Za-z". Використання інших символів в солі поверне порожню строку. Ваговий параметр з двух цифр - це двійковий логарифм лічильника ітерацій хешуючого алгоритму, заснованого на Blowfish, і повинен бути в діапазоні 04-31, вихід зп рамки діапазону повалить crypt().
CRYPT_SHA256 - хеш SHA-256 з 16-символьною соллю що починається на $5$. Якщо строка солі починається на 'rounds=
CRYPT_SHA512 - хеш SHA-512 з 16-символьною соллю що починається на $6$. Якщо строка солі починається на 'rounds=