1--TEST--
2Crypto\PBKDF2::__construct basic usage.
3--SKIPIF--
4<?php if (!class_exists('Crypto\PBKDF2')) die("Skip: PBKDF2 is not supported (update OpenSSL version)"); ?>
5--FILE--
6<?php
7// basic creation with just hash algorithm parameter
8$pbkdf2 = new Crypto\PBKDF2('sha256', 32);
9if ($pbkdf2 instanceof Crypto\PBKDF2) {
10    echo "HASH ONLY\n";
11}
12
13// invalid creation
14try {
15    $pbkdf2 = new Crypto\PBKDF2('nnn', 32);
16}
17catch (Crypto\PBKDF2Exception $e) {
18    if ($e->getCode() === Crypto\PBKDF2Exception::HASH_ALGORITHM_NOT_FOUND) {
19	    echo "HASH NOT FOUND\n";
20	}
21}
22
23// basic creation with just hash algorithm and salt
24$pbkdf2 = new Crypto\PBKDF2('sha256', 32, 'salt');
25if ($pbkdf2 instanceof Crypto\PBKDF2) {
26    echo "HASH AND SALT\n";
27}
28$pbkdf2 = new Crypto\PBKDF2('sha256', 32, 'salt', 900);
29if ($pbkdf2 instanceof Crypto\PBKDF2) {
30    echo "HASH, SALT AND ITERATIONS\n";
31}
32?>
33--EXPECT--
34HASH ONLY
35HASH NOT FOUND
36HASH AND SALT
37HASH, SALT AND ITERATIONS
38