summaryrefslogtreecommitdiffstats
path: root/vendor/paragonie/sodium_compat/lib/stream-xchacha20.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/paragonie/sodium_compat/lib/stream-xchacha20.php')
-rw-r--r--vendor/paragonie/sodium_compat/lib/stream-xchacha20.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/paragonie/sodium_compat/lib/stream-xchacha20.php b/vendor/paragonie/sodium_compat/lib/stream-xchacha20.php
new file mode 100644
index 0000000..44a6b5b
--- /dev/null
+++ b/vendor/paragonie/sodium_compat/lib/stream-xchacha20.php
@@ -0,0 +1,43 @@
+<?php
+
+if (!is_callable('sodium_crypto_stream_xchacha20')) {
+ /**
+ * @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20()
+ * @param int $len
+ * @param string $nonce
+ * @param string $key
+ * @return string
+ * @throws SodiumException
+ * @throws TypeError
+ */
+ function sodium_crypto_stream_xchacha20($len, $nonce, $key)
+ {
+ return ParagonIE_Sodium_Compat::crypto_stream_xchacha20($len, $nonce, $key, true);
+ }
+}
+if (!is_callable('sodium_crypto_stream_xchacha20_keygen')) {
+ /**
+ * @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen()
+ * @return string
+ * @throws Exception
+ */
+ function sodium_crypto_stream_xchacha20_keygen()
+ {
+ return ParagonIE_Sodium_Compat::crypto_stream_xchacha20_keygen();
+ }
+}
+if (!is_callable('sodium_crypto_stream_xchacha20_xor')) {
+ /**
+ * @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor()
+ * @param string $message
+ * @param string $nonce
+ * @param string $key
+ * @return string
+ * @throws SodiumException
+ * @throws TypeError
+ */
+ function sodium_crypto_stream_xchacha20_xor($message, $nonce, $key)
+ {
+ return ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor($message, $nonce, $key, true);
+ }
+}