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