add methods to decrypt return data from router
[GitHub/Stricted/speedport-hybrid-php-api.git] / CryptLib / Random / Mixer.php
diff --git a/CryptLib/Random/Mixer.php b/CryptLib/Random/Mixer.php
new file mode 100644 (file)
index 0000000..7fab222
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+/**
+ * The Mixer strategy interface.
+ *
+ * All mixing strategies must implement this interface
+ *
+ * PHP version 5.3
+ *
+ * @category   PHPCryptLib
+ * @package    Random
+ * @author     Anthony Ferrara <ircmaxell@ircmaxell.com>
+ * @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 <ircmaxell@ircmaxell.com>
+ * @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);
+
+}