3 * The Mixer strategy interface.
5 * All mixing strategies must implement this interface
9 * @category PHPCryptLib
11 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
12 * @copyright 2011 The Authors
13 * @license http://www.opensource.org/licenses/mit-license.html MIT License
14 * @version Build @@version@@
17 namespace CryptLib\Random
;
20 * The Mixer strategy interface.
22 * All mixing strategies must implement this interface
24 * @category PHPCryptLib
26 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
32 * Return an instance of Strength indicating the strength of the mixer
34 * @return Strength An instance of one of the strength classes
36 public static function getStrength();
39 * Test to see if the mixer is available
41 * @return boolean If the mixer is available on the system
43 public static function test();
46 * Mix the provided array of strings into a single output of the same size
48 * All elements of the array should be the same size.
50 * @param array $parts The parts to be mixed
52 * @return string The mixed result
54 public function mix(array $parts);