PHP Classes

File: lib/stream-xchacha20.php

Recommend this page to a friend!
  Classes of Scott Arciszewski   PHP Sodium Compat   lib/stream-xchacha20.php   Download  
File: lib/stream-xchacha20.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP Sodium Compat
Cryptographic functions of libsodium in pure PHP
Author: By
Last change: Update public API
Date: 27 days ago
Size: 2,196 bytes
 

Contents

Class file image Download
<?php
declare(strict_types=1);

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(
       
int $len,
       
string $nonce,
       
#[\SensitiveParameter]
       
string $key
   
): string {
        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(): string
   
{
        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(
       
#[\SensitiveParameter]
       
string $message,
       
string $nonce,
       
#[\SensitiveParameter]
       
string $key
   
): string {
        return
ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor($message, $nonce, $key, true);
    }
}
if (!
is_callable('sodium_crypto_stream_xchacha20_xor_ic')) {
   
/**
     * @see ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic()
     * @param string $message
     * @param string $nonce
     * @param int $counter
     * @param string $key
     * @return string
     * @throws SodiumException
     * @throws TypeError
     */
   
function sodium_crypto_stream_xchacha20_xor_ic(
       
#[\SensitiveParameter]
       
string $message,
       
string $nonce,
       
int $counter,
       
#[\SensitiveParameter]
       
string $key
   
): string {
        return
ParagonIE_Sodium_Compat::crypto_stream_xchacha20_xor_ic($message, $nonce, $counter, $key, true);
    }
}