* @copyright 2011 The Authors * @license http://www.opensource.org/licenses/mit-license.html MIT License * @version Build @@version@@ */ namespace CryptLib\Random; /** * The Mixer strategy interface. * * All mixing strategies must implement this interface * * @category PHPCryptLib * @package Random * @author Anthony Ferrara * @codeCoverageIgnore */ interface Mixer { /** * Return an instance of Strength indicating the strength of the mixer * * @return Strength An instance of one of the strength classes */ public static function getStrength(); /** * Test to see if the mixer is available * * @return boolean If the mixer is available on the system */ public static function test(); /** * Mix the provided array of strings into a single output of the same size * * All elements of the array should be the same size. * * @param array $parts The parts to be mixed * * @return string The mixed result */ public function mix(array $parts); }