xref: /PHP-7.0/ext/standard/tests/strings/crypt.phpt (revision 416f8fce)
1--TEST--
2crypt() function
3--SKIPIF--
4<?php
5if (!function_exists('crypt')) {
6	die("SKIP crypt() is not available");
7}
8?>
9--FILE--
10<?php
11
12$str = 'rasmuslerdorf';
13$salt1 = 'rl';
14$res_1 = 'rl.3StKT.4T8M';
15$salt2 = '_J9..rasm';
16$res_2 = '_J9..rasmBYk8r9AiWNc';
17$salt3 = '$1$rasmusle$';
18$res_3 = '$1$rasmusle$rISCgZzpwk3UhDidwXvin0';
19$salt4 = '$2a$07$rasmuslerd............';
20$res_4 = '$2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra';
21
22echo (CRYPT_STD_DES)  ? ((crypt($str, $salt1) === $res_1) ? 'STD' : 'STD - ERROR') : 'STD', "\n";
23echo (CRYPT_EXT_DES)  ? ((crypt($str, $salt2) === $res_2) ? 'EXT' : 'EXT - ERROR') : 'EXT', "\n";
24echo (CRYPT_MD5)      ? ((crypt($str, $salt3) === $res_3) ? 'MD5' : 'MD5 - ERROR') : 'MD5', "\n";
25echo (CRYPT_BLOWFISH) ? ((crypt($str, $salt4) === $res_4) ? 'BLO' : 'BLO - ERROR') : 'BLO', "\n";
26
27var_dump(crypt($str));
28var_dump(crypt());
29var_dump(crypt("", "", ""));
30
31?>
32--EXPECTF--
33STD
34EXT
35MD5
36BLO
37
38Notice: crypt(): No salt parameter was specified. You must use a randomly generated salt and a strong hash function to produce a secure hash. in %s on line %d
39string(%d) "%s"
40
41Warning: crypt() expects at least 1 parameter, 0 given in %s on line %d
42NULL
43
44Warning: crypt() expects at most 2 parameters, 3 given in %s on line %d
45NULL
46