Руководство по языку программирования PHP
 

PCRE
 

Строковые функции PHP

crypt()

Синтаксис:

crypt (str[, salt ])


Поддерживается следующими версиями PHP:

3
4
5
+
+
+

Описание функции:

Функция crypt() используется для шифрования строки, используя DES, Blowfish, MD5 или другой алгоритм имеющийся в системе.

Аргумент
Описание
Тип
string

Обязательный аргумент. Строка которая будет зашифрована.

string
salt

Необязательный аргумент. Последовательность на основе которой будет осуществляться шифрование. Если не задана, то последовательность будет выбрана случайным образом.

Аргумент salt генерируется только при первом вызове функции и используется для всех последующих вызовов, что снижает безопасность

 

string


Проверить какие алгоритмы шифрования установлены в систем можно при помощи следующих констант (0 - нет, 1 - есть):

CRYPT_STD_DES - Стандартное DES-шифрование с 2-х символьной salt

CRYPT_EXT_DES - Расширенное DES-шифрование с 9-ти символьной salt

CRYPT_MD5 - MD5 - шифрование с 12-ти символьной salt, начинающейся с $1$

CRYPT_BLOWFISH - Blowfish-шифрование с 16-ти символьной salt, начинающейся с $2$

CRYPT_SHA256 - SHA-256 шифрование с 16-ти символьной salt, начинающейся с $5$ (добавлено в версии 5.3.2)

CRYPT_SHA512 - SHA512 шифрование с 16-ти символьной salt, начинающейся с $6$ (добавлено в версии 5.3.2)

Для функции crypt() не существует алгоритма обратной расшифровки


Примеры:

Пример 1:

Проверяем какие алгоритмы шифрования доступны


print (CRYPT_STD_DES);
print "
";
print (CRYPT_STD_DES);
print "
";
print (CRYPT_STD_DES);
print "
";
print (CRYPT_STD_DES);
?>

Результат:

1
1
1
1

Пример 2:

Шифрования пароля с использованием salt


$password = crypt('рыба меч', "вентиляция");
print ($password );
echo '
';
$input_password = crypt('рыба меч', "вентиляция");
print ($input_password);
echo '
';
if ($input_password == $password) {
echo "Пароль верный!";
}
?>

Результат:

вsRKUXl4SOfQ
вsRKUXl4SOfQ
Пароль верный!

Пример 3:

Без заданного аргумента salt результат будет примерно такой:


$password = crypt('рыба меч');
print ($password );
echo '
';
$input_password = crypt('рыба меч');
print ($input_password);
?>

Результат:

$1$F8/.qL2.$UY90ACK4uEuZ.ybKUD/UQ/
$1$rr4.YF2.$mkDdi3AynLhOnBCM4Nh76.

 

Строковые функции

addcslashes()
addslashes()
bin2hex()
chop()
chr()
chunk_split()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
count_chars()
crc32()
crypt()
echo()
explode()
fprintf()
get_html_translation_table()
html_entity_decode()
htmlentities()
htmlspecialchars_decode()
htmlspecialchars()
implode()
join()
localeconv()
ltrim()
md5
md5_file()
metaphone()
nl2br()
number_format()
ord()
parse_str()
print()
printf()
quotemeta()
rtrim()
sha1_file()
sha1()
similar_text()
soundex()
sprintf()
sscanf()
str_ireplace()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
strip_tags()
stripcslashes()
stripos()
stripslashes()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strrchr()
strrev()
strripos()
strrpos()
strspn()
stristr()
strtok()
strtolower()
strtoupper()
strstr()
substr_compare()
substr_count()
substr_replace()
substr()
trim()
ucfirst()
ucwords()
vfprintf()
vprintf()
vsprintf()
wordwrap()

Надёжный хостинг BeGet.ru