diff options
Diffstat (limited to 'ext/sodium/tests/crypto_stream.phpt')
-rw-r--r-- | ext/sodium/tests/crypto_stream.phpt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/sodium/tests/crypto_stream.phpt b/ext/sodium/tests/crypto_stream.phpt new file mode 100644 index 0000000000..7439e289b8 --- /dev/null +++ b/ext/sodium/tests/crypto_stream.phpt @@ -0,0 +1,52 @@ +--TEST-- +Check for libsodium stream +--SKIPIF-- +<?php if (!extension_loaded("sodium")) print "skip"; ?> +--FILE-- +<?php +$nonce = random_bytes(SODIUM_CRYPTO_STREAM_NONCEBYTES); +$key = random_bytes(SODIUM_CRYPTO_STREAM_KEYBYTES); + +$len = 100; +$stream = sodium_crypto_stream($len, $nonce, $key); +var_dump(strlen($stream)); + +$stream2 = sodium_crypto_stream($len, $nonce, $key); + +$nonce = random_bytes(SODIUM_CRYPTO_STREAM_NONCEBYTES); +$stream3 = sodium_crypto_stream($len, $nonce, $key); + +$key = random_bytes(SODIUM_CRYPTO_STREAM_KEYBYTES); +$stream4 = sodium_crypto_stream($len, $nonce, $key); + +var_dump($stream === $stream2); +var_dump($stream !== $stream3); +var_dump($stream !== $stream4); +var_dump($stream2 !== $stream3); +var_dump($stream2 !== $stream4); +var_dump($stream3 !== $stream4); + +$stream5 = sodium_crypto_stream_xor($stream, $nonce, $key); +var_dump($stream5 !== $stream); +$stream6 = sodium_crypto_stream_xor($stream5, $nonce, $key); + +var_dump($stream6 === $stream); + +try { + sodium_crypto_stream($len, substr($nonce, 1), $key); +} catch (SodiumException $ex) { + var_dump(true); +} + +?> +--EXPECT-- +int(100) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) |